Selection Sort ist ein aggressiver Algorithmus, der verwendet wird, um die kleinste Zahl aus einem Array zu finden und sie an der ersten Position zu platzieren. Das nächste zu durchlaufende Array beginnt am Index, nahe der Stelle, an der die kleinste Zahl platziert ist.
wählt das erste kleinste Element in der Liste der Elemente aus und platziert es an der ersten Position.
Wiederholen Sie den gleichen Vorgang für die verbleibenden Elemente in der Liste, bis alle Elemente sortiert sind.
Betrachten Sie die folgende Liste –
Sm = a[0] = 30 Sm
a[1] < sm $square$ $square$ 50 <30 (F) $square$ $square$ 30< sm $square$ $square$ 50 <30 (F) $square$ $square$ 30
a[2 ] < sm $square$ $ quadrat$ 40 <30 (F) $square$ $square$ 20$square$ Tausche a[0] mit sm-Wert aus< sm $square$ $ square$ 40 <30 (F) $square$ $square$ 20$square$ 将 a[0] 与 sm 值交换
a[3] < sm $square$ $square $ 10 < 30 ( T) $square$ $square$ 10< sm $square$ $square $ 10 <30 (T) $square$ $square$ 10
a[4] < sm $square$ $square$ 20<10 (F) $square$ $square $10< sm $square$ $square$ 20<10 (F) $square$ $square 10 美元
10 50 40 30 20
Sm = a[1] = 50 sm
a[2] < sm $square$ $square$ 40 <50 (T) $square$ 40 $square$< sm $square$ $square$ 40 <50 (T) $square$ 40 $square$
a[3] < sm $square$ $ quadrat$ 30 <40 (T) $square$ 30 wird a[1] wird mit sm-Wert ausgetauscht< sm $square$ $ square$ 30 <40 (T) $square$ 30 将 a[1] 与 sm 值交换
a[4] < sm $square$ $square$ 20<30 (T) $ quadrat$ 20< sm $square$ $square$ 20<30 (T) $ 平方$ 20
10 20 40 30 50
Sm = a[2] = 40 Sm
a[3] < sm $square $ $square$ 30 <40 (T) $square$ $square$ 40
a[4] < sm $square$ $square$ 50<40 (F) $square$ $square$ 30 Austausch Die chinesische Übersetzung von a[2] mit sm-Wert
ist:a[3] < sm $square$ $square$ 30 <40 (T) $square$ $square$ 40
a[4] < $ $square$ 50<40 (F) $square$ $square$ 30 Verwenden Sie den sm-Wert, um a[2]
10 20 30 40 50
Sm = a[3] = 40 Sm
a[4] < $square$ $square $ sm auszutauschen 50 <40 (F) $square$ 40 $square$ tauschen a[3] mit sm-Wert aus
Bitte beachten Sie die folgenden Schritte zum Auswählen und Sortieren.
for (i=0; i<n-1; i++){ sm=i; for (j=i+1; j<n; j++){ if (a[j] < a[sm]) sm=j; } t=a[i]; a[i] = a[sm]; a[sm] = t; } }
Das Folgende ist ein C-Programm für die Auswahlsortiertechnik: -
#include<stdio.h> int main(){ int a[50], i,j,n,t,sm; printf("enter the No: of elements in the list:</p><p>"); scanf("%d", &n); printf("enter the elements:</p><p>"); for(i=0; i<n; i++){ scanf ("%d", &a[i]); } for (i=0; i<n-1; i++){ sm=i; for (j=i+1; j<n; j++){ if (a[j] < a[sm]){ sm=j; } } t=a[i]; a[i]=a[sm]; a[sm]=t; } printf ("after selection sorting the elements are:</p><p>"); for (i=0; i<n; i++) printf("%d\t", a[i]); return 0; }
Wenn das obige Programm ausgeführt wird, werden die folgenden Ergebnisse erzeugt: -
enter the No: of elements in the list: 4 enter the elements: 45 12 37 68 after selection sorting the elements are: 12 37 45 68
Das obige ist der detaillierte Inhalt vonErklären Sie den Prozess der Auswahlsortierung in der Sprache C. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!