Selectionsort
-
Guten tag,
ich habe hier versucht Selectionsort anzuwenden, aber es wird nicht sortiert.
Wo liegt der Fehler?static void Selectionsort()
{
for (int i = 0; i < liste.GetNum(); i++)
{
for (int j = 0; j < liste.GetNum() - 1; j++)
{
int ZahlKleiner = i;int objektA = (int)liste[j];
int objektB = (int)liste[ZahlKleiner];
if (objektA > objektB) // 0, wenn A>B ist, wird vertauscht
{
ZahlKleiner = j;
}
//Werte vertauschen
var temp = objektA;
objektA = objektB;
objektB = temp;
}
}
}Vielen Dank
-
Deine Liste wird gar nicht verändert. Du vertauschst immer nur die Werte deiner lokalen Variablen objektA und objektB.
-
Oh man, bin ich dumm.
ja stimmt, vielen Dank.//Werte vertauschen
var temp = objektA;
liste[j] = objektB;
liste[ZahlKleiner] = temp;so jetzt stimmt es
-
Wenn Du eh schon 2 Hilfsvariablen hast, brauchst Du temp gar nicht.