Artikel ini menjelaskan algoritma penyortiran yang umum digunakan untuk array Java. Bagikan untuk referensi Anda, sebagai berikut:
1. Metode penyortiran gelembung
Sortarray_01.java
kelas publik sortarray_01 {public static void main (string args []) {int [] array = {14, 5, 86, 4, 12, 3, 21, 13, 11, 2, 55, 66, 22}; // Buat sistem array array satu dimensi yang diinisialisasi.out.println ("Array yang tidak disortir:"); untuk (int i = 0; i <array.length; i ++) {// elemen traverse dalam array array system.out.print (" + array [i]); // elemen array output if ((i + 1) % 5 == 0) // satu baris untuk setiap 5 elemen sistem.out.println ();} mid; array.length; 0;Hasil Menjalankan:
Array yang tidak disortir: 14 5 86 4 12 3 21 13 11 2 55 66 22 Array diurutkan berdasarkan Bubble Metode: 2 3 4 5 11 12 13 14 21 22 55 66 86
2. Array Incremental Sorting
Sortarray_02.java
impor java.util.arrays; impor java.util.random; kelas publik sortarray_02 {public static void main (string [] args) {acak rd = new random (); int [] array = int int [15]; // Deklarasikan array system.out.println ("Array sebelum metode sortir digunakan:"); untuk (int i = 0; i <array.length; i ++) {// Gunakan angka acak untuk menghasilkan 15 angka acak antara 0 dan 20 array [i] = rd.nextint (20); // Tetapkan nilai ke array array system.out.print ("" + array [i]); if ((i + 1) % 5 == 0) system.out.println (); } Arrays.sort (array); // urutkan array ascending order system.out.println ("/narray setelah menggunakan metode sort:"); untuk (int i = 0; i <array.length; i ++) {// output data dalam array array system.out.print (" + array [i]); if ((i + 1) % 5 == 0) system.out.println ();}}}Hasil Menjalankan:
Array Sebelum Metode Sortir Tidak Digunakan: 13 12 11 18 11 11 17 13 11 8 1 0 9 18 3array Setelah metode pengurutan digunakan: 0 1 3 8 9 11 11 11 11 11 13 13 17 18 18 18 18 18 18
3. Metode Penyortiran Cepat
Sortarray_03.java
kelas publik sortarray_03 {public static void main (string args []) {int [] intarray = {12, 11, 45, 6, 8, 43, 40, 57, 3, 20, 15, 88, 23}; System.out.println ("Array sebelum menyortir:"); untuk (int i = 0; i <intarray.length; i ++) {System.out.print (" + intarray [i]); // elemen array output if ((i + 1) % 5 == 0) // System.out.println ();} System.out.println (); int [] b = println ();} System.out.println (); int [] b = quicksort ();} System.out.println (); int [] b = quicksort ();} System.out.println (); int [] b = quicksort (); System.out.println ("Array Menggunakan Quicksort:"); if ((i + 1) % 5 == 0) // satu baris untuk setiap 5 elemen sistem.out.println (); }} public static int getMiddle (int [] array, int kiri, int kanan) {int temp; // Lakukan Sortir Cepat dan Kembali ke Posisi Titik Tengah Int Mid = Array [kiri]; // Tempatkan pusat di [0] while (kiri <kanan) {while (kiri <kanan && array [kanan]> = mid) kanan--; temp = array [kanan]; // pindahkan data lebih kecil dari titik tengah ke array kiri [kanan] = array [kiri]; array [kiri] = temp; while (kiri <kanan && array [kiri] <= mid) kiri ++; temp = array [kanan]; // Pindahkan data lebih besar dari titik tengah ke array kanan [kanan] = array [kiri]; array [kiri] = temp; } array [kiri] = mid; // pindahkan pusat ke posisi yang benar kembali ke kiri; // Kembali ke titik tengah} public static int [] quicksort (int [] array, int kiri, int kanan) {// metode penyortiran cepat jika (kiri <kanan - 1) {// Jika titik awal dan node tidak tumpang tindih, yaitu, pointer belum dieksekusi ke ujung int mid = getMiddle (array, kiri, kanan); // Ambil quicksort titik tengah (array, kiri, pertengahan - 1); quicksort (array, mid + 1, kanan); } return array; }}Hasil Menjalankan:
Array Sebelum Menyortir: 12 11 45 6 8 43 40 57 3 20 15 88 23 Array Setelah Menggunakan Metode QuickSelect: 3 6 8 11 12 20 15 23 40 43 45 88 57
4. Pilih metode penyortiran
Sortarray_04.java
kelas publik sortarray_04 {public static void main (string args []) {int [] array = {14, 5, 86, 4, 12, 3, 51, 13, 11, 2, 32, 6, 45, 34}; // Buat array array array satu dimensi yang diinisialisasi intelvalue keyvalue; // Tunjukkan indeks int elemen terkecil int indeks; // Tunjukkan nilai elemen terkecil int temp; // variabel menengah.out.println ("Array yang tidak disortir:"); untuk (int i = 0; i <array.length; i ++) {// elemen traverse di array array system.out.print (""+array [i]); // output elemen array if ((i + 1) % 5 == 0) // satu baris untuk setiap 5 elemen sistem.out.println (); } untuk (int i = 0; i <array.length; i ++) {// Gunakan indeks inti dari metode penyortiran seleksi = i; keyValue = array [i]; untuk (int j = i; j <array.length; j ++) if (array [j] <keyvalue) {index = j; keyValue = array [j]; } temp = array [i]; array [i] = array [indeks]; array [indeks] = temp; } System.out.println ("/nuse array setelah memilih penyortiran:"); untuk (int i = 0; i <array.length; i ++) {// melintasi elemen dalam sistem array yang diurutkan.out.print (""+array [i]); // elemen array output if ((i + 1) % 5 == 0) System.out.println (); // satu baris untuk setiap 5 elemen}}}Hasil Menjalankan:
Array yang tidak disortir: 14 5 86 4 12 3 51 13 11 2 32 6 45 34 Array Setelah menggunakan metode penyortiran seleksi: 2 3 4 5 6 11 12 13 14 32 34 45 51 86
PS: Ini adalah alat demonstrasi untuk referensi Anda:
Demonstrasi Animasi Online Sisipkan/Pilih/Bubble/Gabungan/Hill/Algoritma Proses Algoritma Penyortiran Cepat:
http://tools.vevb.com/aideddesign/paixu_ys
Untuk informasi lebih lanjut tentang algoritma java, pembaca yang tertarik dengan situs ini dapat melihat topik: "struktur data java dan tutorial algoritma", "ringkasan tips node dom java", "ringkasan file operasi java dan direktori" dan "ringkasan tip operasi java cache" tips java "tips java" Tips "Java Cache Tips"
Saya harap artikel ini akan membantu pemrograman Java semua orang.