WikiDer > Auswahl sortieren

Auswahl sortieren ist ein Sortieralgorithmus. Die Selektionssortierung ist eine einfache, aber auch ineffiziente Sortiermethode. Sie hat einen Komplexitätsgrad von Auf2).
Operation
Die Methode funktioniert so:
- Suchen Sie den kleinsten Wert in der Liste.
- Tauschen Sie ihn mit dem ersten Wert in der Liste aus.
- Wiederholen Sie die obigen Schritte mit dem Rest der Liste.
Auf Java
Ein Beispiel in Java aus Auswahl Sortieren.
zum(intich=0;ich<Array.Länge-1;ich){// Eingabe = Array von ganzen Zahlen intminIndex=ich;// finde den kleinsten im Rest des Arrayszum(intj=ich1;j<Array.Länge;j){wenn(Array[j]<Array[minIndex]){minIndex=j;}}inttemp=Array[ich];// Werte tauschenArray[ich]=Array[minIndex];Array[minIndex]=temp;}in C
zum(intich=v.Größe()-1;ich>=0;ich--){tmax=v[0];intmaxpos=0;intj;zum(j=1;j<ich;j ){wenn(v[j]>max){max=v[j];maxpos=j;}}Tauschen(v[maxpos],v[ich]);}in C#
Ein Beispiel in Csharp von Selection Sort.
ÖffentlichkeitLeereAuswahlSortieren(int[]t){zum(intich=0;ich<t.Länge-1;ich ){// Durch das gesamte Array gehenintMinIndex=ich;// Behalten Sie den kleinsten Wert bei, wenn wir beginnen, ist er gleich dem Element, das wir sortieren möchtenzum(intJ=ich1;J<t.Länge;J ){// Durch den unsortierten Teil gehenwenn(t[J]<t[MinIndex]){MinIndex=J;}}// Platziere das kleinste Element in der Reihe an Position Iinttemp=t[ich];t[ich]=t[MinIndex];t[MinIndex]=temp;}}/*AuswahlSort*/In Python
defAuswahlSortieren(lst):zumichimReichweite(len(lst)):kleinste=lst[ich]vertauschen=ichzumneinimReichweite(ich,len(lst)):wennlst[nein]<kleinste:kleinste=lst[nein]vertauschen=neinlst[vertauschen]=lst[ich]lst[ich]=kleinsteRückkehrlst