Rumah > Java > javaTutorial > Isih tatasusunan 0, 1 dan 2 menggunakan Java

Isih tatasusunan 0, 1 dan 2 menggunakan Java

王林
Lepaskan: 2023-09-09 19:57:09
ke hadapan
1183 orang telah melayarinya

Isih tatasusunan 0, 1 dan 2 menggunakan Java

Diberi tatasusunan yang terdiri daripada 0, 1 dan 2, susun elemen mengikut tertib supaya semua 0 didahulukan sebelum 1 dan semua 2 diakhiri. Kita perlu mengisih semua elemen tatasusunan di tempatnya.

Kita boleh menggunakan algoritma pengisihan DNF (Bendera Belanda) untuk menyelesaikan masalah ini. Contohnya,

Input-1 -

arr[ ]= {2,0,0,1,2,1 }
Salin selepas log masuk

Output -

-

- - #

Penjelasan

− Gunakan algoritma pengisihan DNF untuk mengisih tatasusunan yang diberikan mengandungi 0, 1 dan 2, ia akan dikeluarkan sebagai {0,0,1,1,2,2}.

Input-2

0 0 1 1 2 2
Salin selepas log masuk

Output#🎜🎜🎜# -

- - 🎜#Penjelasan

− Gunakan algoritma pengisihan DNF untuk mengisih tatasusunan elemen yang diberikan yang mengandungi 0, 1 dan 2, ia akan dikeluarkan sebagai {0,0,1,1,1,1,2}.

Cara menyelesaikan masalah ini

Dalam tatasusunan 0, 1 dan 2 yang diberikan, kita boleh menggunakan algoritma pengisihan DNF.

Algoritma pengisihan DNF

− Algoritma ini memerlukan 3 penuding untuk melintasi keseluruhan tatasusunan dan menukar elemen yang diperlukan.
  • Cipta penuding rendah pada permulaan tatasusunan dan penuding tinggi menunjuk ke penghujung tatasusunan.
  • Cari titik tengah tatasusunan dan cipta penunjuk tengah yang berulang dari permulaan tatasusunan hingga akhir.
  • Jika penunjuk tengah tatasusunan ialah '0', tukar elemen yang menunjuk ke penunjuk rendah. Ditambah penunjuk rendah dan pertengahan.
  • Jika penunjuk tengah tatasusunan ialah '2', tukarkannya dengan elemen yang menghala ke penunjuk tinggi. Naikkan penunjuk tengah dan kurangkan penunjuk tinggi.
  • Jika penunjuk tengah tatasusunan ialah '1', naikkan penunjuk tengah.

Contoh

Demonstrasi

arr[ ] = {0,1,1,2,1,1,0}
Salin selepas log masuk

Output#🎜🎜🎜 di atas akan menjana Output berikut:

0 0 1 1 1 1 2
Salin selepas log masuk

Atas ialah kandungan terperinci Isih tatasusunan 0, 1 dan 2 menggunakan Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:tutorialspoint.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