Heim > Backend-Entwicklung > C++ > C-Programm zur Auswahlsortierung

C-Programm zur Auswahlsortierung

PHPz
Freigeben: 2023-08-28 13:13:05
nach vorne
850 Leute haben es durchsucht

C-Programm zur Auswahlsortierung

Selection Sort ist ein aggressiver Algorithmus, der die kleinste Zahl aus einem Array findet und an der ersten Position platziert. Das nächste zu durchlaufende Array beginnt am nächsten Index mit der kleinsten Zahl.

Nehmen wir ein Beispiel, um dieses Konzept deutlicher zu veranschaulichen.

Wir haben ein Array {6, 3, 8, 12, 9} und das kleinste Element in diesem Array ist 3. Also setzen wir 3 an die erste Position und danach sieht das Array wie folgt aus: {3, 6, 8, 12, 9} . Jetzt werden wir wieder die kleinste Zahl finden, aber dieses Mal werden wir die 3 bei der Suche nicht berücksichtigen, da sie an ihrer Stelle steht. Suchen Sie das nächstkleinere Element, 6, erstellen Sie ein Array mit 6 an der zweiten Position und durchsuchen Sie das Array erneut, bis das Array sortiert ist.

So funktioniert der Auswahlsortierungsalgorithmus –

Der Auswahlsortierungsalgorithmus folgt den folgenden Schritten:

Nehmen wir ein Array {20, 12, 23, 55,21}

  • Setzen Sie das erste Element des Arrays auf den Mindestwert .

    Mindestwert = 20

  • Vergleichen Sie den Mindestwert mit dem nächsten Element und weisen Sie dieses Element als Mindestwert zu, wenn er kleiner als der Mindestwert ist. Tun Sie dies bis zum Ende des Arrays.

    wird mit 12 : 20 > 12 verglichen, der Minimalwert = 12

    wird mit 23 : 12 wird mit 55 verglichen: 12

    wird mit 21 verglichen: 12

  • setzt den Minimalwert an die erste Position (Index 0) des Arrays.

    Array = {12, 20,23, 55, 21}

  • Beginnen Sie für die nächste Iteration mit der Sortierung ab dem ersten unsortierten Element.

    Array = {12, 20,23, 55, 21}

    Beginnen Sie mit der Suche ab 20 und platzieren Sie als nächstes das Element mit dem Mindestwert.

    Iteration 2:

    Minimalwert = 20

    im Vergleich zu 23: 20

    im Vergleich zu 55: 20

    im Vergleich zu 21: 20

    Minimalwert bleibt unverändert,

    Array = {12, 20,23, 55, 21}

    Iteration 3:

    Minimalwert = 23.

    im Vergleich zu 55: 23

    im Vergleich zu 21: 23 > 21, Mindestwert = 21

    Mindestwert in Index verschoben = 2

    Array = {12, 20, 21, 55, 23}

    Iteration 4:

    Minimum = 55

    im Vergleich zu 23: 23

    Minimum wurde auf Index 3 verschoben Array = { 12 , 20 , 21 , 23 , 55 }

Beispiel

#include <stdio.h>
int main() {
   int arr[10]={6,12,0,18,11,99,55,45,34,2};
   int n=10;
   int i, j, position, swap;
   for (i = 0; i < (n - 1); i++) {
      position = i;
      for (j = i + 1; j < n; j++) {
         if (arr[position] > arr[j])
            position = j;
      }
      if (position != i) {
         swap = arr[i];
         arr[i] = arr[position];
         arr[position] = swap;
      }
   }
   for (i = 0; i < n; i++)
      printf("%d\t", arr[i]);
   return 0;
}
Nach dem Login kopieren

Ausgabe

0 2 6 11 12 18 34 45 55 99
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonC-Programm zur Auswahlsortierung. 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