Heim  >  Artikel  >  Java  >  Shell-Sortierung in Java

Shell-Sortierung in Java

WBOY
WBOYOriginal
2024-08-30 15:32:33393Durchsuche

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

Syntax

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:

  • Die „array_length“ ist die Länge des angegebenen Arrays für die Shell-Sortierung.
  • Sie können eine Lücke zwischen zwei Elementen erstellen, indem Sie die Variable „elemnt_gap“ verwenden.
  • Verwenden Sie die „for-Schleife“, um die Variable im Array-Element zu durchlaufen.
  • Das „temprary_elemnt“ wird zum Sortieren von Array-Elementen verwendet.
  • Dann können Sie mit der Sortierung der Muscheln in aufsteigender Reihenfolge beginnen.

Wie funktioniert die Shell-Sortierung in Java?

  • Erstellen Sie eine Primärklasse in Java.
public class Shell{ … }
  • Erstellen Sie eine Methode für die Shell-Sortierung mit Array-Variablen.
int shellSort(int shell_array[]) { … }
  • Array-Länge für das angegebene erforderliche Array erstellen.
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();
}

Beispiele

Unten sind die verschiedenen Beispiele:

Beispiel #1: Einzelne numerische Werte

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:

Shell-Sortierung in Java

Beispiel #2: Doppelte numerische Werte

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:

Shell-Sortierung in Java

Beispiel #3: Mehrere numerische Werte

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:

Shell-Sortierung in Java

Beschreibung:

  • Sie können die angegebenen verschiedenen Arten von numerischen Werten sehen.
  • Shell-Sortierung erzeugt einen Unterschied zwischen Elementen.
  • Sortieren Sie dann das Array in aufsteigender Reihenfolge.

Fazit

  • Die Shell-Sortierung in Java hilft dabei, Array-Elemente gemäß den Anforderungen des Benutzers anzuordnen.
  • Es macht Webanwendungen übersichtlich, einfach und verständlich.
  • Die Shell-Sortierung ordnet Daten ohne deren Komplexität und sorgt für eine benutzerfreundliche Anwendung.

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!

Stellungnahme:
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