Heim > Backend-Entwicklung > C++ > Hauptteil

Merge-Sort-Technik erklärt in C

WBOY
Freigeben: 2023-09-05 14:05:05
nach vorne
1047 Leute haben es durchsucht

Sortieren ist der Vorgang, bei dem Elemente in aufsteigender (oder) absteigender Reihenfolge angeordnet werden.

Sortierungsarten

Die C-Sprache bietet fünf Sortiertechniken wie folgt:

  • Blasensortierung (oder) Austauschsortierung
  • Auswahlsortierung
  • Einfügungssortierung (oder) lineare Sortierung
  • Schnellsortierung (oder) Partitionierungs-Swap-Sortierung
  • Merge Sort (oder) External Sort

Merge Sort

Merge Sort ist eine Divide-and-Conquer-Methode. Es teilt das Array in zwei Hälften, erobert es und führt es rekursiv zusammen (kombiniert).

Betrachten wir das folgende Beispiel:

Nehmen Sie ein unsortiertes Array und wenden Sie die Zusammenführungssortiertechnik an, um das Array zu sortieren. 38, 27, 43, 3, 9, 82, 10 Sortiertechnik –

Live-Demonstration

#include <stdio.h>
#define max 10
int a[11] = { 10, 14, 19, 26, 27, 31, 33, 35, 42, 44, 0 };
int b[10];
void merging(int low, int mid, int high) {
   int l1, l2, i;
   for(l1 = low, l2 = mid + 1, i = low; l1 <= mid && l2 <= high; i++) {
      if(a[l1] <= a[l2])
         b[i] = a[l1++];
      else
         b[i] = a[l2++];
   }
   while(l1 <= mid)
      b[i++] = a[l1++];
   while(l2 <= high)
      b[i++] = a[l2++];
   for(i = low; i <= high; i++)
      a[i] = b[i];
   }
   void sort(int low, int high) {
      int mid;
      if(low < high) {
         mid = (low + high) / 2;
         sort(low, mid);
         sort(mid+1, high);
         merging(low, mid, high);
      } else {
      return;
   }
}
int main() {
   int i;
   printf("List before sorting</p><p>");
   for(i = 0; i <= max; i++)
   printf("%d ", a[i]);
   sort(0, max);
   printf("</p><p>List after sorting</p><p>");
   for(i = 0; i <= max; i++)
   printf("%d ", a[i]);
}
Nach dem Login kopieren

Ausgabe Merge-Sort-Technik erklärt in C

Bei der Ausführung des obigen Programms wird die folgende Ausgabe erzeugt –

List before sorting
10 14 19 26 27 31 33 35 42 44 0
List after sorting
0 10 14 19 26 27 31 33 35 42 44
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonMerge-Sort-Technik erklärt in 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!