Heim > Backend-Entwicklung > C++ > Hauptteil

Erklären Sie den Prozess der Auswahlsortierung in der Sprache C

王林
Freigeben: 2023-09-01 13:57:07
nach vorne
949 Leute haben es durchsucht

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.

Der Prozess der Auswahlsortierung

  • 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 –

Erklären Sie den Prozess der Auswahlsortierung in der Sprache C

Erster Durchgang

Sm = a[0] = 30 Sm
Nach dem Login kopieren

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
Nach dem Login kopieren

Zweiter Durchgang

Erklären Sie den Prozess der Auswahlsortierung in der Sprache C

Sm = a[1] = 50 sm
Nach dem Login kopieren

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
Nach dem Login kopieren

Das dritte Mal

Erklären Sie den Prozess der Auswahlsortierung in der Sprache C

Sm = a[2] = 40 Sm
Nach dem Login kopieren

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
Nach dem Login kopieren

Viertes Mal

Erklären Sie den Prozess der Auswahlsortierung in der Sprache C

Sm = a[3] = 40 Sm
Nach dem Login kopieren

a[4] < $square$ $square $ sm auszutauschen 50 <40 (F) $square$ 40 $square$ tauschen a[3] mit sm-Wert aus

Vorgehensweise

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;
   }
}
Nach dem Login kopieren

Beispiel

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;
}
Nach dem Login kopieren

Ausgabe

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
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage