Dieser Artikel beschreibt die häufig verwendeten Sortieralgorithmen für Java -Arrays. Teilen Sie es für Ihre Referenz wie folgt weiter:
1. Blasensortiermethode
SortArray_01.java
public class sortArray_01 {public static void main (String args []) {int [] array = {14, 5, 86, 4, 12, 3, 21, 13, 11, 2, 55, 66, 22}; // Erstellen Sie ein initialisiertes eindimensionales Array-Array-System. für (int i = 0; i <array.length; i ++) {// Traverse -Elemente im Array -Array -System.out.print (" + array [i]); // Ausgabearray -Element if (i + 1) % 5 == 0) // Eine Zeile für jeden 5 Element -System. Array.Length; 0;Auslaufergebnisse:
Reortiertes Array: 14 5 86 4 12 3 21 13 11 2 55 66 22 Array sortiert nach Blasenmethode: 2 3 4 5 11 12 13 14 21 22 55 66 86
2. Inkrementelle Sortierung von Array
SORTARAY_02.JAVA
import Java.util.Arrays; import Java.util.random; öffentliche Klasse SortArray_02 {public static void main (String [] args) {random rd = new random (); int [] array = new int [15]; // deklarieren Sie das Array System.out.println ("Array Bevor die Sortiermethode verwendet wird:"); für (int i = 0; i <array.length; i ++) {// Verwenden Sie zufällige Zahlen, um 15 Zufallszahlen zwischen 0 und 20 Array [i] = rd.nextint (20) zu generieren; // Wert an Array Array System.out.print ("" + Array [i]) zuweisen; if ((i + 1) % 5 == 0) system.out.println (); } Arrays.sort (Array); // Sortieren Sie das Array Ascending Order System.out.println ("/carray nach Verwendung der Sortiermethode:"); für (int i = 0; i <array.length; i ++) {// Die Daten in Array Array System.out.Out.print (" + Array [i]); if ((i + 1) % 5 == 0) System.out.println ();}}}}}}}}}}}}}}}}Auslaufergebnisse:
Array bevor die Sortiermethode nicht verwendet wird: 13 12 11 18 11 11 17 13 11 8 1 0 9 18 3Array Nach der Sortiermethode: 0 1 3 8 9 11 11 11 11 11 12 13 17 18 18 18 18 18
3.. Schnellsortiermethode
SortArray_03.java
public class sortArray_03 {public static void main (String args []) {int [] intarrray = {12, 11, 45, 6, 8, 43, 40, 57, 3, 20, 15, 88, 23}; System.out.println ("Array vor Sortieren:"); für (int i = 0; i <intarray.length; i ++) {System.out.print (" + intarray [i]); // Ausgabearray -Element if ((i + 1) % 5 == 0) // system.out.println ();} System.out.println (); System.out.println ("Array mit QuickSort:"); if ((i + 1) % 5 == 0) // eine Zeile für jeweils 5 Elements System.out.println (); }} public static int getMiddle (int [] Array, int links, int rechts) {int temp; // eine schnelle Sortierung durchführen und zur Mittelpunktposition int Mid = Array [links] zurückkehren; // Platzieren Sie die Mitte in einer [0], wobei (links <rechts) {while (links <rechts && Array [rechts]> = Mid). temp = array [rechts]; // Daten kleiner als der Mittelpunkt auf das linke Array [rechts] = Array [links] bewegen; Array [links] = temp; while (links <rechts && array [links] <= mid) links ++; temp = array [rechts]; // Daten größer als der Mittelpunkt auf das rechte Array [rechts] = Array [links]; Array [links] = temp; } Array [links] = Mid; // Bewegen Sie die Mitte in die richtige Position zurück. // Kehre zum Mittelpunkt zurück zurückkehren} public static int [] quicksort (int [] array, int links, int rechts) {// Schnellsortiermethode Wenn (links <rechts - 1) {// Wenn der Ausgangspunkt und der Knoten nicht überlappen, dh, wurde der Zeiger nicht bis zum Ende int in Mid = getMiddle (Array, links, rechts, rechts); // den Mittelpunkt Quicksort (Array, links, Mitte - 1) abrufen; QuickSort (Array, Mid + 1, rechts); } return Array; }}Auslaufergebnisse:
Array vor der Sortierung: 12 11 45 6 8 43 40 57 3 20 15 88 23 Array Nach Verwendung der QuickSelect -Methode: 3 6 8 11 12 20 15 23 40 43 45 88 57
4. Wählen Sie Sortiermethode
SortArray_04.java
öffentliche Klasse SortArray_04 {public static void main (String args []) {int [] array = {14, 5, 86, 4, 12, 3, 51, 13, 11, 2, 32, 6, 45, 34}; // Erstellen Sie ein initialisiertes eindimensionales Array-Array-Int-KeyValue; // Geben Sie den kleinsten Element -Wert -Int -Index an; // Geben Sie den kleinsten Element -Wert int temp an; // Intermediate Variable System.out.println ("Unsortiertes Array:"); für (int i = 0; i <array.length; i ++) {// Traverse -Elemente im Array -Array -System.out.print (""+Array [i]); // Ausgangsarray -Element if ((i + 1) % 5 == 0) // Eine Zeile für jeweils 5 Elements System.out.println (); } für (int i = 0; i <array.length; i ++) {// Verwenden Sie den Kernindex der Auswahlsortierungsmethode = i; KeyValue = Array [i]; für (int j = i; j <array.length; j ++) if (array [j] <keyValue) {index = j; KeyValue = Array [j]; } temp = array [i]; Array [i] = Array [Index]; Array [index] = temp; } System.out.println ("/nuse das Array nach Auswahl der Sortierung:"); für (int i = 0; i <array.length; i ++) {// Überquere die Elemente im sortierten Array -System.out.print (""+Array [i]); // Ausgangsarray -Element if ((i + 1) % 5 == 0) System.out.println (); // eine Zeile für jeweils 5 Elemente}}}Auslaufergebnisse:
Reortiertes Array: 14 5 86 4 12 3 51 13 11 2 32 6 45 34 Arrays Nach Verwendung der Auswahlsortierungsmethode: 2 3 4 5 6 11 12 13 14 32 34 45 51 86
PS: Hier ist ein Demonstrationstool für Ihre Referenz:
Online -Animation Demonstration einfügen/auswählen/bubble/merge/hill/Schnellsortieralgorithmus -Prozess -Tool:
http://tools.vevb.com/aideddesign/paixu_ys
Für weitere Informationen zu Java -Algorithmen können Leser, die an dieser Website interessiert sind, die Themen "Java -Datenstruktur und Algorithmus -Tutorial", "Zusammenfassung der Java -Operation DOM -Knoten -Tipps", "Zusammenfassung der Java -Datei- und Verzeichnisoperationstipps" und "Zusammenfassung der Java -Cache -Operation Tipps" anzeigen
Ich hoffe, dieser Artikel wird für Java -Programme aller hilfreich sein.