Rumah  >  Artikel  >  Java  >  Isih Shell dalam java

Isih Shell dalam java

WBOY
WBOYasal
2024-08-30 15:32:33308semak imbas

Isih shell ialah algoritma untuk mengisih nombor atau tatasusunan yang diberikan menggunakan bahasa pengaturcaraan java. Ia berdasarkan algoritma isihan sisipan untuk mengisih elemen mengikut keperluan. Ia adalah unsur isihan menggunakan nombor terbahagi dan membandingkan unsur jauh antara satu sama lain. Ini adalah algoritma untuk menetapkan elemen dengan tertib menaik atau menurun menggunakan bahasa java. Ia adalah tatasusunan terbahagi dalam elemen dan membandingkan satu elemen dengan elemen lain yang berbeza menggunakan java. Ia adalah prosedur pengisihan untuk membandingkan dua elemen yang berjauhan antara satu sama lain. Isih Shell ialah generalisasi kaedah isihan sisipan untuk menyusun elemen tatasusunan.

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

Sintaks

Sintaks isihan shell menggunakan java ada di bawah.

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;
}
}

Penerangan:

  • "array_length " ialah panjang tatasusunan yang diberikan untuk pengisihan cangkerang.
  • Anda boleh mencipta jurang antara dua elemen menggunakan pembolehubah ” elemnt_gap ”.
  • Gunakan "untuk gelung" untuk melintasi pembolehubah dalam elemen tatasusunan.
  • "temprary_elemnt" digunakan untuk mengisih elemen tatasusunan.
  • Kemudian, anda boleh mula menyusun cangkerang dalam tertib menaik.

Bagaimanakah cara pengisihan Shell dalam Java?

  • Buat kelas utama dalam java.
public class Shell{ … }
  • Buat kaedah untuk menyusun cangkerang dengan pembolehubah tatasusunan.
int shellSort(int shell_array[]) { … }
  • Buat panjang tatasusunan untuk tatasusunan yang diperlukan.
int array_length = shell_array.length;

Buat jurang antara dua elemen untuk mengisih elemen tatasusunan.

for (int elemnt_gap = array_length / 2; elemnt_gap > 0; elemnt_gap = elemnt_gap /2) {
write shell sort algorithm here…
}

Letakkan algoritma pengisihan cangkerang di dalam "untuk gelung".

Algoritma ini menyusun elemen tatasusunan dalam format jadual. Elemen yang lebih kecil diletakkan di sebelah kiri lajur dan nombor yang lebih besar diletakkan di sebelah kanan lajur.

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;

Buat kaedah utama dan kembalikan elemen pengisihan.

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();
}

Contoh

Di bawah ialah contoh yang berbeza:

Contoh #1: Nilai berangka tunggal

Kod:

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] + " ");
}
}

Output:

Isih Shell dalam java

Contoh #2: Nilai berangka berganda

Kod:

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] + " ");
}
}

Output:

Isih Shell dalam java

Contoh #3: Berbilang nilai berangka

Kod:

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] + " ");
}
}

Output:

Isih Shell dalam java

Penerangan:

  • Anda boleh melihat berbilang jenis nilai berangka yang diberikan.
  • Isih cangkerang mencipta perbezaan antara unsur.
  • Kemudian, susun tatasusunan dalam tertib menaik.

Kesimpulan

  • Isih shell dalam java membantu menyusun elemen tatasusunan mengikut keperluan pengguna.
  • Ia menjadikan aplikasi web diisih, mudah dan boleh difahami.
  • Isih shell menyusun data tanpa kerumitan dan menjadikan aplikasi mesra pengguna.

Atas ialah kandungan terperinci Isih Shell dalam java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn