Rumah > Java > javaTutorial > Bagaimana untuk melaksanakan isihan gelembung, isihan pemilihan, isihan pantas dalam Java

Bagaimana untuk melaksanakan isihan gelembung, isihan pemilihan, isihan pantas dalam Java

PHPz
Lepaskan: 2023-05-03 14:43:06
ke hadapan
1701 orang telah melayarinya

1.Isih Buih

Isih Buih ialah jenis pengisihan yang paling mudah, yang dilakukan melalui semua elemen tatasusunan berulang kali dibandingkan dua dua dalam gelang, sehingga nombor itu ditamatkan apabila tiada lagi nombor untuk ditukar, dan kemudian nombor seterusnya ditambah sehingga keseluruhan tatasusunan diisih. Kerana mereka terapung satu demi satu, ia dipanggil jenis gelembung. Masa gelung berganda O(n^2)

Perihalan algoritma:

  1. Bandingkan dua data bersebelahan jika. Yang pertama lebih besar daripada yang kedua, cuma tukar dua nombor

  2. Lakukan 1 kerja yang sama untuk setiap nombor bersebelahan, supaya dari awal satu pasukan hingga akhir satu pasukan adalah at the end Nombor ialah nombor yang terbesar.

  3. Operasi pada semua elemen kecuali yang terakhir.

  4. Ulang langkah 1~3 sehingga pesanan selesai.

Penggambaran kod:

Bagaimana untuk melaksanakan isihan gelembung, isihan pemilihan, isihan pantas dalam Java

Pelaksanaan kod:

Bagaimana untuk melaksanakan isihan gelembung, isihan pemilihan, isihan pantas dalam Java

2. Isih Pemilihan

Isih Pilih ialah pengisihan intuitif, dengan menentukan nilai maksimum atau minimum Kunci, dan kemudian mengisih daripada jalur Cari nombor terbesar atau terkecil dan tukarkannya ke kedudukan yang sepadan. Pilih pilihan terbaik seterusnya. Kerumitan masa gelung berganda ialah O(n^2)

Penerangan algoritma:

  1. Dalam urutan tidak tertib panjang N In tatasusunan, merentasi nombor n-1 buat kali pertama untuk mencari nombor terkecil dan menukarnya dengan nombor pertama.

  2. Lintas nombor n-2 bermula dari nombor seterusnya untuk kali kedua, cari nombor terkecil dan tukarkan dengan nombor kedua.

  3. Ulangi operasi di atas sehingga lintasan n-1 bagi nombor terkecil dan nombor n-1 ditukar, dan pengisihan selesai.

Penggambaran algoritma:

Bagaimana untuk melaksanakan isihan gelembung, isihan pemilihan, isihan pantas dalam Java

Pelaksanaan kod:

<code><p><img src="https://img.php.cn/upload/article/000/000/164/168309619043778.png" alt="Bagaimana untuk melaksanakan isihan gelembung, isihan pemilihan, isihan pantas dalam Java"><br></p></code>
Salin selepas log masuk
3. Isih Pantas

Isih Pantas (QuickSort) ialah jenis yang paling biasa digunakan selepas tidak termasuk faktor kestabilan. Saya ingin memperkenalkan dua cara untuk menggunakannya. Salah satunya adalah dengan melaksanakan fungsi qsort secara langsung dalam fail pengepala fail stdlib.h saya, yang sama seperti menulis kod biasa. Pengisihan tatasusunan dilaksanakan dengan menggunakan qsort (nama tatasusunan, panjang, saiz (panjang nombor pertama), compInc/comoDec). Yang terakhir adalah dalam bentuk panggilan rekursif.

Penerangan algoritma:

  1. Pilih elemen daripada jujukan sebagai rujukan.

  2. Susun semula urutan, letakkan semua yang lebih kecil daripada penanda aras di hadapan penanda aras, dan letakkan semua yang lain di belakang (saiz yang sama boleh di kedua-dua sisi Selepas). selesai, penanda aras akan berada di tengah-tengah partition.

  3. Isih urutan yang lebih kecil daripada elemen asas dan elemen asas hujan lebat melalui panggilan rekursif.

Penggambaran algoritma:

Bagaimana untuk melaksanakan isihan gelembung, isihan pemilihan, isihan pantas dalam Java

Pelaksanaan kod:

Bagaimana untuk melaksanakan isihan gelembung, isihan pemilihan, isihan pantas dalam Java

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan isihan gelembung, isihan pemilihan, isihan pantas dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan