Heim Backend-Entwicklung C#.Net-Tutorial So sortieren Sie mithilfe der Schnellsortierung in der Sprache C

So sortieren Sie mithilfe der Schnellsortierung in der Sprache C

Aug 08, 2020 am 10:13 AM
快速排序

So ordnen Sie die Schnellsortiermethode an: Legen Sie zunächst bei jeder Sortierung einen Referenzpunkt fest und platzieren Sie alle Zahlen, die kleiner oder gleich dem Referenzpunkt sind, links vom Referenzpunkt gleich dem Referenzpunkt rechts vom Referenzpunkt; Schließlich wird jeder Austausch nicht wie eine Blasensortierung sein, die jedes Mal nur zwischen benachbarten Zahlen ausgetauscht werden kann, und der Austauschabstand wird viel größer sein.

So sortieren Sie mithilfe der Schnellsortierung in der Sprache C

Sortiermethode der Schnellsortierung:

Algorithmusidee:

(1) Wir wählen einen Datensatz (normalerweise den ersten) aus der zu sortierenden Datensatzfolge als Basiselement (Schlüssel genannt) aus )key=arr[left] und legen Sie dann zwei Variablen fest: Left zeigt auf den Teil ganz links im Array und Right zeigt auf den Teil ganz rechts der Daten.

So sortieren Sie mithilfe der Schnellsortierung in der Sprache C

(2) Key wird zuerst mit arr[right]key, dann müssen wir nur right--, right-- vergleichen und dann arr[right] mit key vergleichen, bis arr[right]

So sortieren Sie mithilfe der Schnellsortierung in der Sprache C

(3) Wenn arr[right]key, dann arr[right]=arr[left], wenn arr[left]

So sortieren Sie mithilfe der Schnellsortierung in der Sprache C

(4) Bewegen Sie sich dann nach rechts und wiederholen Sie die obigen Schritte.

So sortieren Sie mithilfe der Schnellsortierung in der Sprache C

(5) Erhalten Sie schließlich {23 58 13 10 57 62} 65 {106 78 95 85} und vergleichen Sie dann das linke Unterarray und rechtes Unterarray Machen Sie dasselbe. Schließlich wird eine geordnete Sequenz erhalten.

So sortieren Sie mithilfe der Schnellsortierung in der Sprache C

Algorithmusimplementierung:

public class QuickSort {
 
   public static void quickSort(int [] arr,int left,int right) {
      int pivot=0;
      if(left<right) {
         pivot=partition(arr,left,right);
         quickSort(arr,left,pivot-1);
         quickSort(arr,pivot+1,right);
      }
   }
 
   private static int partition(int[] arr,int left,int right) {
      int key=arr[left];
      while(left<right) {
         while(left<right && arr[right]>=key) {
            right--;
         }
         arr[left]=arr[right];
         while(left<right && arr[left]<=key) {
            left++;
         }
         arr[right]=arr[left];
      }
      arr[left]=key;
      return left;
   }
  
   public static void main(String[] args) {
      int arr[]= {65,58,95,10,57,62,13,106,78,23,85};
      System.out.println("排序前:"+Arrays.toString(arr));
      quickSort(arr,0,arr.length-1);
      System.out.println("排序后:"+Arrays.toString(arr));
   }
}
Nach dem Login kopieren
排序前:[65, 58, 95, 10, 57, 62, 13, 106, 78, 23, 85]
排序后:[10, 13, 23, 57, 58, 62, 65, 78, 85, 95, 106]
Nach dem Login kopieren

Verwandte Lernempfehlungen: C-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo sortieren Sie mithilfe der Schnellsortierung in der Sprache C. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Tipps und Vorsichtsmaßnahmen zum schnellen Sortieren von Java Tipps und Vorsichtsmaßnahmen zum schnellen Sortieren von Java Feb 25, 2024 pm 10:24 PM

Beherrschen Sie die wichtigsten Fähigkeiten und Vorsichtsmaßnahmen der Java-Schnellsortierung. Die Schnellsortierung (QuickSort) ist ein häufig verwendeter Sortieralgorithmus. Seine Kernidee besteht darin, die zu sortierende Sequenz in zwei unabhängige Teile und alle Elemente in einem zu teilen Wenn ein Teil kleiner als das Basiselement ist und alle Elemente des anderen Teils größer als das Basiselement sind, werden die beiden Teile rekursiv sortiert und schließlich eine geordnete Sequenz erhalten. Obwohl die schnelle Sortierung im Durchschnitt eine Zeitkomplexität von O(nlogn) aufweist, degeneriert sie im schlimmsten Fall zu O(nlogn).

So implementieren Sie eine schnelle Sortierung mit Python So implementieren Sie eine schnelle Sortierung mit Python Dec 18, 2023 pm 03:37 PM

So implementieren Sie die schnelle Sortierung in Python: 1. Definieren Sie eine Funktion namens quick_sort und verwenden Sie die rekursive Methode, um die schnelle Sortierung zu implementieren. 2. Überprüfen Sie die Länge des Arrays. Wenn die Länge kleiner oder gleich 1 ist, geben Sie das Array direkt zurück. Andernfalls wird das erste Element als Pivotelement (Pivot) verwendet und dann wird das Array in zwei Unterarrays unterteilt, die kleiner als das Pivotelement und größer als das Pivotelement sind. 3. Verbinden Sie die beiden Unterarrays und das Pivot-Element, um ein sortiertes Array zu bilden.

In Java implementierter Schnellsortierungsalgorithmus und seine Effizienzbewertung In Java implementierter Schnellsortierungsalgorithmus und seine Effizienzbewertung Feb 18, 2024 pm 03:38 PM

Die Java-Implementierung der Schnellsortierung und ihre Leistungsanalyse Die Schnellsortierung (QuickSort) ist ein sehr häufig verwendeter und effizienter Sortieralgorithmus. Es handelt sich um eine Divide-and-Conquer-Idee (Teile und herrsche). Dieser Algorithmus unterteilt ein Array in zwei Unterarrays, sortiert dann die beiden Unterarrays entsprechend und wandelt schließlich das gesamte Array in eine geordnete Sequenz um. Die schnelle Sortierung zeigt eine hervorragende Leistung bei der Verarbeitung großer Datenmengen. Die schnelle Sortierung wird rekursiv implementiert. Die Grundidee ist wie folgt: Wählen Sie eine Basis

So sortieren Sie Funktionen in Java schnell So sortieren Sie Funktionen in Java schnell Jan 18, 2024 pm 05:26 PM

Schnellsortierungsmethode: 1. Erstellen Sie eine Java-Beispieldatei. 2. Implementieren Sie den Schnellsortierungsalgorithmus über die QuickSort-Methode. 3. Wählen Sie ein Element im Array als Pivot aus und teilen Sie das Array in zwei Unterarrays auf Das Element mit dem Pivot enthält das erste Element, und das andere Element enthält das Element, das größer als das Hauptelement ist. Anschließend wird der Schnellsortierungsalgorithmus rekursiv auf die beiden Unterarrays angewendet. 4. Sortieren Sie das Array in der Hauptmethode und geben Sie das Ergebnis aus.

Was ist schnelle Sortierung in C-Sprache? Was ist schnelle Sortierung in C-Sprache? Sep 26, 2023 am 11:00 AM

Quicksort ist aufgrund seiner Beliebtheit und Beliebtheit im Vergleich zu anderen Sortieralgorithmen ein häufig verwendeter Sortieralgorithmus.

Schnelle Sortierung mit Array-Funktionen in PHP Schnelle Sortierung mit Array-Funktionen in PHP Jun 16, 2023 am 08:54 AM

PHP ist eine sehr beliebte Programmiersprache und wird häufig für die Webentwicklung verwendet. In PHP ist Array ein sehr verbreiteter Datentyp und eine sehr leistungsfähige Datenstruktur. Aus diesem Grund bietet PHP viele Array-Funktionen, die Entwicklern bei der Handhabung und Manipulation von Arrays helfen. Dazu gehört die Schnellsortierfunktion, die uns hilft, Arrays schnell zu sortieren. Die Schnellsortierung ist ein gängiger Sortieralgorithmus. Seine Grundidee besteht darin, ein Array durch Vergleich und Austausch in zwei Unterarrays aufzuteilen und diese dann rekursiv durchzuführen

So implementieren Sie einen Schnellsortierungsalgorithmus mit Java So implementieren Sie einen Schnellsortierungsalgorithmus mit Java Sep 19, 2023 am 11:28 AM

So implementieren Sie den Schnellsortierungsalgorithmus in Java. Die Schnellsortierung (QuickSort) ist ein häufig verwendeter und effizienter Sortieralgorithmus. Seine Grundidee besteht darin, die Divide-and-Conquer-Strategie (Divide and Conquer) anzuwenden. Durch die Auswahl jeweils eines Elements als Benchmark-Wert wird das zu sortierende Array in zwei Teile geteilt, wobei ein Teil kleiner als der Benchmark-Wert ist Der andere Teil ist größer als der Benchmark-Wert, und dann werden die beiden Teile separat verarbeitet und schließlich das gesamte Array sortiert. Im Folgenden stellen wir detailliert vor, wie Sie mithilfe der Java-Sprache eine schnelle Sortierung erreichen

Optimierungs- und Implementierungsprinzipien: Schnelle Sortierung in Java Optimierungs- und Implementierungsprinzipien: Schnelle Sortierung in Java Feb 20, 2024 pm 01:24 PM

Implementierungsprinzip und Optimierung der Java-Schnellsortierfunktion Die Schnellsortierung ist ein effizienter Sortieralgorithmus. Seine Implementierungsidee besteht darin, ein großes Problem mithilfe der Divide-and-Conquer-Methode in mehrere kleine Probleme aufzuteilen und die Teilprobleme rekursiv zu lösen, um schließlich die Gesamtlösung zu erhalten . . Bei der Schnellsortierung müssen wir ein Benchmark-Element auswählen und das Array in zwei Teile teilen, wobei ein Teil kleiner als das Benchmark-Element und der andere Teil größer als das Benchmark-Element ist. Anschließend werden die beiden Teile noch einmal schnell sortiert, bis nur noch ein Element pro Teilproblem vorhanden ist. Schließlich werden die Lösungen aller Teilprobleme kombiniert, um die Arrays zu erhalten

See all articles