Kod contoh dan hasil larian pelaksanaan Java bagi isihan sisipan
Isihan sisipan ialah algoritma isihan yang mudah dan biasa digunakan yang digunakan secara meluas dalam aplikasi praktikal. Artikel ini akan memperkenalkan cara menggunakan bahasa Java untuk melaksanakan isihan sisipan dan memberikan contoh kod yang sepadan dan hasil yang dijalankan.
Idea asas isihan sisipan ialah membahagikan tatasusunan untuk diisih kepada dua bahagian, diisih dan tidak diisih Pada mulanya, bahagian yang diisih hanya mempunyai satu elemen, dan kemudian unsur-unsur bahagian yang tidak diisih dimasukkan ke dalam kedudukan yang sesuai. daripada bahagian yang diisih mengikut urutan sehingga Semua elemen dimasukkan.
Berikut ialah contoh kod untuk melaksanakan isihan sisipan dalam Java:
public class InsertionSort { public static void insertionSort(int[] arr) { int n = arr.length; for (int i = 1; i < n; i++) { int key = arr[i]; int j = i - 1; while (j >= 0 && arr[j] > key) { arr[j + 1] = arr[j]; j -= 1; } arr[j + 1] = key; } } public static void main(String[] args) { int[] arr = {5, 2, 10, 8, 3}; System.out.println("排序前:"); printArray(arr); insertionSort(arr); System.out.println("排序后:"); printArray(arr); } public static void printArray(int[] arr) { int n = arr.length; for (int i = 0; i < n; i++) { System.out.print(arr[i] + " "); } System.out.println(); } }
Kaedah insertionSort
dalam kod melaksanakan algoritma isihan sisipan. Ia menggunakan gelung luar untuk melelar melalui setiap elemen bahagian yang tidak diisih, memasukkan elemen ke dalam kedudukan yang sesuai dalam bahagian yang diisih. Gelung dalam mencari kedudukan sisipan yang sesuai dalam bahagian yang diisih dan menggerakkan elemen yang lebih besar daripada elemen semasa ke belakang. insertionSort
方法实现了插入排序算法。它使用一个外层循环遍历未排序部分的每个元素,将元素插入到已排序部分的合适位置。内层循环则是在已排序部分中寻找合适的插入位置,将比当前元素大的元素往后移动。
在main
方法中,我们定义了一个整型数组arr
,初始化了一组无序的元素。首先输出了排序前的数组,然后调用insertionSort
utama
, kami mentakrifkan tatasusunan integer arr
dan memulakan set elemen tidak tertib. Mula-mula, tatasusunan sebelum mengisih ialah output, kemudian kaedah insertionSort
dipanggil untuk mengisih, dan akhirnya tatasusunan yang diisih ialah output. Hasil larian adalah seperti berikut: 排序前: 5 2 10 8 3 排序后: 2 3 5 8 10
Atas ialah kandungan terperinci Java menulis algoritma isihan sisipan dan menghasilkan hasil. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!