Die Beispiele in diesem Artikel beschreiben die vier grundlegenden Sortiermethoden in JAVA. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
JAVA verfügt über vier grundlegende Sortiermethoden, darunter die Blasenmethode, die Einfügemethode, die Auswahlmethode und die SHELL-Sortiermethode. Die Auswahlmethode ist eine Verbesserung der Blasenmethode und die SHELL-Sortiermethode ist eine Verbesserung der Einfügemethode Grundsätzlich lässt sich zusammenfassen: Es gibt zwei verschiedene Sortiermethoden: Einfügemethode und Blasenmethode
1 Einfügemethode:
Durchlaufen Sie die sortierte Sammlung. Jedes Mal, wenn ein Element erreicht wird, wird dieses Element durchlaufen und mit allen Elementen davor verglichen, und die Elemente, die der Sortierreihenfolge entsprechen, werden nacheinander an die Position verschoben, an der sie in der angezeigt werden sollen aktuelle Reichweite. Der Austausch erfolgt durch benachbarte Durchquerungsbewegung und Doppelschleifensteuerung. Auf meinen Landkarten muss ich alles in einer bestimmten Reihenfolge anordnen
Der Verarbeitungscode lautet wie folgt:
public void sort(int[] data) { int temp; for(int i=1; i〈data.length; i++){ for(int j=i; (j〉0)&&(data[j]〉data[j-1]); j--){ temp=date[j]; data[j]=data[j-1]; data[j-1]=temp; } } }
2 Blasenmethode:
Es ist relativ einfach. Seine innere Schleife sorgt dafür, dass nach einem Durchlauf das kleinste (größte) Element in der Menge an der richtigen Position erscheint und beim nächsten Mal das nächstkleinere Element. . . Diese Methode weist grundsätzlich die gleiche Anzahl an Austauschbewegungen unter verschiedenen Umständen der Mengenverteilung auf und ist die langsamste Art. Die Implementierung ist ebenfalls eine Doppelschleifensteuerung. Diese Sortiermethode gehört zum Drachen, der den Fluss überquert, was bedeutet, das Extrem zu finden. Der Drache, der den Fluss überquert, hat jedoch auch einen ältesten Bruder, einen zweiten Bruder usw., sodass sie nur den ältesten Bruder und den zweiten Bruder auswählen können.Der Verarbeitungscode lautet wie folgt:
public static int [] maopao(int[] data) { int temp; for(int i=0; i〈data.length-1; i++){ for(int j=i+1; j〈data.length; j++){ if(data[i]〈data[j]){ temp=data[i]; data[i]=data[j]; data[j]=temp; } } } return data;
Drei Auswahlmethoden:
Diese Methode zeichnet nur die Position des kleinsten (großen) Elements auf, indem sie die Menge durchläuft. Nach einem Durchlauf wird eine Positionsaustauschoperation durchgeführt, die dem Blasenbildungsprozess ähnelt , und nur die Position des Elements wird aufgezeichnet. Pro Durchquerung wird nur eine Austauschoperation durchgeführt. Dieses Paar eignet sich besser für Elemente, deren Austauschreihenfolge zeitaufwändig ist. Diese Sortiermethode ist viel tiefer als die Blasenmethode. Ich erinnere mich zuerst an die extremen Daten und verarbeite sie dann, nachdem ich die Daten durchlaufen habe, die nur dann verarbeitet werden müssen, wenn sie etwas extremer sind als ich selbst Nur die Methode Verarbeitet die extremsten Daten innerhalb ihres Gültigkeitsbereichs.
public static void xuanze(int[] data) { int temp; for (int i = 0; i 〈 data.length; i++) { int lowIndex = i; for (int j = data.length - 1; j 〉 i; j--) { if (data[j] 〉 data[lowIndex]) { lowIndex = j; } } temp=data[i]; data[i]=data[lowIndex]; data[lowIndex]=temp; } }
Vier-Shell-Sortierung:
Es handelt sich um eine Verbesserung der Einfügungssortierung. Dabei werden die eingestellten Elemente nach einer bestimmten Sortierbasis in Gruppen unterteilt, sodass jede Gruppe zunächst in der Grundreihenfolge innerhalb des lokalen Bereichs angeordnet wird und schließlich alle Elemente einmal sortiert werden. Einfügungssortierung.
public void sort(int[] data) { for(int i=data.length/2; i〉2; i/=2){ for(int j=0; j〈i; j++){ insertSort(data,j,i); } } insertSort(data,0,1); } private void insertSort(int[] data, int start, int inc) { int temp; for(int i=start+inc; i〈data.length; i+=inc){ for(int j=i; (j〉=inc)&&(data[j]〈data[j-inc]); j-=inc){ temp=data[j]; data[j]=data[j-inc] data[j-inc]=temp; } } }