Rumah  >  Artikel  >  Java  >  Bagaimana untuk melaksanakan algoritma isihan sisipan menggunakan java

Bagaimana untuk melaksanakan algoritma isihan sisipan menggunakan java

PHPz
PHPzasal
2023-09-19 08:28:421219semak imbas

Bagaimana untuk melaksanakan algoritma isihan sisipan menggunakan java

Cara melaksanakan algoritma isihan sisipan menggunakan Java

Isihan sisipan ialah algoritma isihan yang mudah tetapi berkesan berdasarkan perbandingan dan pertukaran elemen Pemikiran. Dalam artikel ini, kita akan belajar cara menulis pelaksanaan algoritma isihan sisipan dalam Java dan memberikan contoh kod konkrit.

Idea asas isihan sisipan ialah membahagikan tatasusunan kepada bahagian yang diisih dan tidak diisih. Mula-mula, kami menganggap elemen pertama sebagai bahagian yang diisih, dan kemudian memasukkan unsur-unsur bahagian yang tidak diisih ke dalam kedudukan yang betul bagi bahagian yang diisih dalam urutan. Untuk mencari kedudukan sisipan yang betul, kita perlu membandingkan elemen semasa dengan unsur-unsur bahagian yang disusun satu demi satu, dan secara beransur-ansur mengalihkan unsur-unsur bahagian yang diisih ke belakang sehingga kita menemui kedudukan sisipan yang sesuai. Dengan mengulangi proses ini, keseluruhan tatasusunan akhirnya diisih.

Berikut ialah kod sampel untuk melaksanakan algoritma isihan sisipan menggunakan 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--;
            }
            arr[j + 1] = key; // 插入元素到正确位置
        }
    }

    public static void main(String[] args) {
        int[] arr = {5, 2, 8, 3, 1};
        System.out.println("原始数组:");
        for (int num : arr) {
            System.out.print(num + " ");
        }
        System.out.println();

        insertionSort(arr);

        System.out.println("排序后的数组:");
        for (int num : arr) {
            System.out.print(num + " ");
        }
        System.out.println();
    }
}

Dalam contoh ini, kami mentakrifkan kaedah bernama insertionSort的静态方法,它接受一个整数数组作为参数。我们使用一个循环遍历未排序部分的元素,并将其插入到已排序部分的正确位置。内部的while循环用于向后移动已排序部分的元素,直到找到正确的插入位置。最后,我们在main方法中创建一个示例数组,并调用insertionSort untuk mengisihnya. Akhirnya, kami mengeluarkan tatasusunan yang diisih ke konsol.

Dengan menjalankan kod di atas, kita boleh mendapatkan output berikut:

原始数组:
5 2 8 3 1
排序后的数组:
1 2 3 5 8

Seperti yang anda lihat, algoritma isihan sisipan berjaya mengisih tatasusunan asal.

Ringkasan:
Artikel ini memperkenalkan cara menggunakan Java untuk menulis pelaksanaan algoritma isihan sisipan dan menyediakan contoh kod khusus. Isihan sisipan ialah algoritma pengisihan yang mudah tetapi berkesan yang mencapai pengisihan dengan membahagikan tatasusunan kepada bahagian yang diisih dan tidak diisih serta membandingkan dan menggerakkan elemen satu demi satu. Dengan memahami idea dan pelaksanaan kod algoritma isihan sisipan, kami boleh menggunakan algoritma isihan ini secara fleksibel dalam projek pengaturcaraan sebenar.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan algoritma isihan sisipan menggunakan 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