Beschreibung:
Eine Extension-Methode mit der es möglich ist mit dem SelectionSort-Algorithmus zu sortieren. (Die Sort-Methode arbeitet mit dem Quick-Sort Algorithmus) Der Vorteil bei diesem Algorithmus ist, dass die Daten höchstens n-mal verschoben werden, wohingegen es auch deutlich seltener passieren kann.
public static partial class SortAlogrithmens
{
public static void SelectionSort(this IList<IComparable> list)
{
// alle Zahlen durchlaufen
int j;
int i;
for (i = 0; i < list.Count; i++)
{
// Position min mit der kleinsten Zahl ab Position i
// vertauschen
int min = i;
for (j = i + 1; j < list.Count; j++)
if (list[j].CompareTo(list[min]) < 0)
min = j;
// Zahl an Position i mit der kleinsten Zahl vertauschen
if (min > i)
{
IComparable tmp = list[min];
list[min] = list[i];
list[i] = tmp;
}
}
}
}
Schlagwörter: IComparable, Sortieren, Selection Sort
As a man thinketh in his heart, so he is.