Die Grundidee des Auswahlsortierungsalgorithmus besteht darin, die kleinste Zahl im Array auszuwählen und sie vor das Array zu stellen. In der Sprache C können wir beginnend mit dem zweiten Element zwei for-Schleifen verwenden Suchen Sie beim Durchlaufen des Arrays die kleinste Zahl und platzieren Sie sie an der ersten Position. Suchen Sie dann die kleinste Zahl im verbleibenden Array und platzieren Sie sie an der zweiten Position usw., bis das Array sortiert ist.
Das Implementierungsprinzip der Auswahlsortiermethode:
Bestimmen Sie zunächst den unteren Teil von die kleinste Zahl Ob der Index 0 ist, wenn nicht, bedeutet dies, dass die kleinste Zahl nicht das erste Element ist, dann werden diese Zahl und das erste Element vertauscht, sodass die kleinste Zahl in einer Runde gefunden und ganz links platziert wird .
[Video-Tutorial-Empfehlung: C-Sprach-Tutorial]
Codebeispiel:
Verwenden Sie die Auswahlsortiermethode, um einen Satz manuell eingegebener Daten von klein nach groß zu sortieren. Die Daten sind 52, 36, 2, 39, 56, 45, 78 ,92,15,52.
Implementierungscode:
#include <stdio.h> int main() { int i,j,t,a[11]; //定义变量及数组为基本整型 printf("请输入10个数:\n"); for(i=1;i<11;i++) scanf("%d",&a[i]); //从键盘中输入要排序的10个数字 for(i=1;i<=9;i++) for (j=i+1;j<=10;j++) if(a[i]>a[j]) //如果前一个数比后一个数大,则利用中间变量t实现两值互换 { t=a[i]; a[i]=a[j]; a[j]=t; } printf("排序后的顺序是:\n"); for(i=1;i<=10;i++) printf("%5d", a[i]); //输出排序后的数组 printf("\n"); return 0; }
Ausgabe:
Codebeschreibung:
Im Code werden zwei for-Schleifenanweisungen verwendet. Die erste for-Schleife bestimmt die Position, die nach jeder Auswahl und jedem Austausch aus der zu sortierenden Sequenz die kleinste ausgewählte Zahl speichert. Die zweite for-Schleife besteht darin, die Zahl an einer bestimmten Position mit der Zahl im darauffolgenden zu sortierenden Intervall zu vergleichen.
Das obige ist der detaillierte Inhalt vonSo implementieren Sie einen Auswahlsortierungsalgorithmus in der C-Sprache (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!