Rumah> Java> javaTutorial> teks badan

Isih Shell dalam java

WBOY
Lepaskan: 2024-08-30 15:32:33
asal
237 orang telah melayarinya

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 ialah 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 adalah 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; } }
Salin selepas log masuk

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{ … }
Salin selepas log masuk
  • Buat kaedah untuk menyusun cangkerang dengan pembolehubah tatasusunan.
int shellSort(int shell_array[]) { … }
Salin selepas log masuk
  • Buat panjang tatasusunan untuk tatasusunan yang diperlukan.
int array_length = shell_array.length;
Salin selepas log masuk

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… }
Salin selepas log masuk

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;
Salin selepas log masuk

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(); }
Salin selepas log masuk

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] + " "); } }
Salin selepas log masuk

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] + " "); } }
Salin selepas log masuk

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] + " "); } }
Salin selepas log masuk

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!

Label berkaitan:
sumber:php
Kenyataan Laman Web ini
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
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!