Die Shell-Sortierung ist ein Algorithmus zum Sortieren der angegebenen Zahlen oder Arrays mithilfe einer Java-Programmiersprache. Es basiert auf dem Einfügesortieralgorithmus, um Elemente nach Bedarf zu sortieren. Es ist ein Sortierelement, das geteilte Zahlen verwendet und weit voneinander entfernte Elemente vergleicht. Es handelt sich um einen Algorithmus zum Festlegen von Elementen in aufsteigender oder absteigender Reihenfolge mithilfe der Java-Sprache. Es ist ein in ein Element unterteiltes Array und vergleicht mithilfe von Java ein Element mit einem anderen eindeutigen Element. Es handelt sich um ein Sortierverfahren zum Vergleich zweier weit voneinander entfernter Elemente. Die Shell-Sortierung ist eine Verallgemeinerung der Einfügesortiermethode zum Anordnen von Array-Elementen.
Starten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests und andere
Die Shell-Sortierungssyntax mit Java ist unten aufgeführt.
int array_length = shell_array.length; for (int elemnt_gap = array_length / 2; elemnt_gap > 0; elemnt_gap = elemnt_gap /2) { int j, i; for ( i = elemnt_gap; i < array_length; i += 1) { int temprary_elemnt = shell_array[i]; for ( j = i; j >= elemnt_gap && shell_array[j - elemnt_gap] > temprary_elemnt; j -= elemnt_gap) shell_array[j] = shell_array[j - elemnt_gap]; shell_array[j] = temprary_elemnt; } }
Beschreibung:
public class Shell{ … }
int shellSort(int shell_array[]) { … }
int array_length = shell_array.length;
Machen Sie eine Lücke zwischen zwei Elementen, um Array-Elemente zu sortieren.
for (int elemnt_gap = array_length / 2; elemnt_gap > 0; elemnt_gap = elemnt_gap /2) { write shell sort algorithm here… }
Platzieren Sie den Shell-Sortieralgorithmus innerhalb der „for-Schleife“.
Dieser Algorithmus ordnet Array-Elemente im Tabellenformat an. Das kleinere Element wird auf der linken Seite der Spalte platziert und die größere Zahl wird auf der rechten Seite der Spalte platziert.
for (int elemnt_gap = array_length / 2; elemnt_gap > 0; elemnt_gap = elemnt_gap /2) { int j, i; for ( i = elemnt_gap; i < array_length; i += 1) { int temprary_elemnt = shell_array[i]; int j; for (j = i; j >= elemnt_gap && shell_array[j - elemnt_gap] > temprary_elemnt; j -= elemnt_gap) shell_array[j] = shell_array[j - elemnt_gap]; shell_array[j] = temprary_elemnt; } } return 0;
Erstellen Sie die Hauptmethode und geben Sie das Sortierelement zurück.
public static void main(String args[]) { int shell_array[] = { 1, 4, 5, 2, 3 }; Shell shell = new Shell(); shell.shellSort(shell_array); System.out.println("shell sort elements are: "); int array_length = shell_array.length; for (int i = 0; i < array_length; ++i) System.out.print(shell_array[i] + " "); System.out.println(); }
Unten sind die verschiedenen Beispiele:
Code:
import java.util.Arrays; public class Shell { int shellSort(int shell_array[]) { int array_length = shell_array.length; int j, i; for (int elemnt_gap = array_length / 2; elemnt_gap > 0; elemnt_gap = elemnt_gap /2) { for (i = elemnt_gap; i < array_length; i += 1) { int temprary_elemnt = shell_array[i]; for ( j = i; j >= elemnt_gap && shell_array[j - elemnt_gap] > temprary_elemnt; j -= elemnt_gap) shell_array[j] = shell_array[j - elemnt_gap]; shell_array[j] = temprary_elemnt; } } return 0; } public static void main(String args[]) { int shell_array[] = { 8, 1, 4, 5, 2, 6, 3, 9, 7}; System.out.println("given array elements are : "); System.out.println(Arrays.toString(shell_array)); Shell shell = new Shell(); shell.shellSort(shell_array); System.out.println("shell sort elements are : "); int array_length = shell_array.length; for (int i = 0; i < array_length; ++i) System.out.print(shell_array[i] + " "); } }
Ausgabe:
Code:
import java.util.Arrays; public class Shell { int shellSort(int shell_array[]) { int array_length = shell_array.length; int j, i; for (int elemnt_gap = array_length / 2; elemnt_gap > 0; elemnt_gap = elemnt_gap /2) { for (i = elemnt_gap; i < array_length; i += 1) { int temprary_elemnt = shell_array[i]; for ( j = i; j >= elemnt_gap && shell_array[j - elemnt_gap] > temprary_elemnt; j -= elemnt_gap) shell_array[j] = shell_array[j - elemnt_gap]; shell_array[j] = temprary_elemnt; } } return 0; } public static void main(String args[]) { int shell_array[] = { 81, 17, 44, 58, 23, 69, 32, 90, 75}; System.out.println("given array elements are : "); System.out.println(Arrays.toString(shell_array)); Shell shell = new Shell(); shell.shellSort(shell_array); System.out.println("shell sort elements are : "); int array_length = shell_array.length; for (int i = 0; i < array_length; ++i) System.out.print(shell_array[i] + " "); } }
Ausgabe:
Code:
import java.util.Arrays; public class Shell { int shellSort(int shell_array[]) { int array_length = shell_array.length; int j, i; for (int elemnt_gap = array_length / 2; elemnt_gap > 0; elemnt_gap = elemnt_gap /2) { for (i = elemnt_gap; i < array_length; i += 1) { int temprary_elemnt = shell_array[i]; for ( j = i; j >= elemnt_gap && shell_array[j - elemnt_gap] > temprary_elemnt; j -= elemnt_gap) shell_array[j] = shell_array[j - elemnt_gap]; shell_array[j] = temprary_elemnt; } } return 0; } public static void main(String args[]) { int shell_array[] = { 888, 1, 44, 5573, 24, 6, 543, 901, 7000}; System.out.println("given array elements are : "); System.out.println(Arrays.toString(shell_array)); Shell shell = new Shell(); shell.shellSort(shell_array); System.out.println("shell sort elements are : "); int array_length = shell_array.length; for (int i = 0; i < array_length; ++i) System.out.print(shell_array[i] + " "); } }
Ausgabe:
Beschreibung:
Das obige ist der detaillierte Inhalt vonShell-Sortierung in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!