Saya mencoba membuat program yang terdiri dari 10 integer yang semuanya memiliki nilai acak, sejauh ini bagus.
Namun, sekarang saya perlu mengurutkannya dari nilai terendah ke nilai tertinggi dan kemudian mencetaknya di layar, bagaimana saya melakukannya?
(Maaf karena memiliki begitu banyak kode untuk program sekecil itu, saya tidak begitu baik dengan loop, baru mulai bekerja dengan Java)
public static void main(String args[])
{
int [] array = new int[10];
array[0] = ((int)(Math.random()*100+1));
array[1] = ((int)(Math.random()*100+1));
array[2] = ((int)(Math.random()*100+1));
array[3] = ((int)(Math.random()*100+1));
array[4] = ((int)(Math.random()*100+1));
array[5] = ((int)(Math.random()*100+1));
array[6] = ((int)(Math.random()*100+1));
array[7] = ((int)(Math.random()*100+1));
array[8] = ((int)(Math.random()*100+1));
array[9] = ((int)(Math.random()*100+1));
System.out.println(array[0] +" " + array[1] +" " + array[2] +" " + array[3]
+" " + array[4] +" " + array[5]+" " + array[6]+" " + array[7]+" "
+ array[8]+" " + array[9] );
}
Jawaban:
Loop juga sangat berguna untuk dipelajari, terutama saat menggunakan array,
sumber
Tambahkan Baris sebelum println dan array Anda akan diurutkan
sumber
Ini dapat membantu Anda memahami loop dengan menerapkan sendiri. Lihat Bubble sort mudah dimengerti:
Tentu saja, Anda tidak boleh menggunakannya dalam produksi karena ada algoritma berkinerja lebih baik untuk daftar besar seperti QuickSort atau MergeSort yang diimplementasikan oleh
Arrays.sort(array)
sumber
Lihatlah Arrays.sort ()
sumber
Saya malas dan menambahkan loop
Array Anda memiliki panjang 10. Anda perlu satu variabel (
i
) yang mengambil nilai dari0
hingga9
.Merupakan metode perpustakaan yang mengurutkan array.
sumber
akan melakukan pekerjaan dengan sempurna
sumber
Lihat di bawah, itu akan memberi Anda diurutkan naik dan turun keduanya
Output akan menjadi
Catatan: Anda dapat menggunakan Math.ranodm alih-alih menambahkan nomor manual. Beri tahu saya jika saya perlu mengubah kode ...
Semoga Sukses ... Ceria !!!
sumber
Integer
ketika Anda bisa menggunakannyaint
, karena hal itu akan menyebabkan kelambatan.sumber
Berikut ini cara menggunakannya di program Anda:
sumber
hanya FYI, Anda sekarang dapat menggunakan Java 8 API baru untuk menyortir semua jenis array menggunakan
parallelSort
parallelSort
menggunakan Fork / Gabung kerangka kerja yang diperkenalkan di Java 7 untuk menetapkan tugas penyortiran ke beberapa utas yang tersedia di kumpulan utas.dua metode yang dapat digunakan untuk mengurutkan
int
array,sumber
Untuk pesanan alami:
Arrays.sort(array)
Untuk Pesanan terbalik:
Arrays.sort(array, Collections.reverseOrder());
-> Ini adalah metode statis di kelas Koleksi yang selanjutnya akan memanggil kelas dalam dirinya sendiri untuk mengembalikan Pembanding terbalik.sumber
Anda dapat mengurutkan array int
Arrays.sort( array )
.sumber
Java 8 menyediakan opsi untuk menggunakan stream yang dapat digunakan untuk mengurutkan
int[] array
sebagai:Seperti disebutkan dalam dokumen untuk
parallelSort
:Jadi jika array input kurang dari granularity (8192 elemen di Java 9 dan 4096 di Java 8 saya percaya), maka
parallelSort
cukup memanggil algoritma pengurutan berurutan.Kalau-kalau kita ingin membalikkan mengurutkan array integer kita dapat menggunakan komparator sebagai:
Karena Java tidak memiliki cara untuk mengurutkan primitif dengan komparator kustom, kita harus menggunakan tinju menengah atau perpustakaan pihak ketiga lainnya yang mengimplementasikan penyortiran primitif tersebut.
sumber
Anda dapat menggunakan fungsi Arrays.sort () .
sumber
CARA YANG PALING EFEKTIF!
sumber
Jika Anda ingin membuat sendiri algoritma Urutkan cepat dan lebih memahami cara kerjanya periksa kode di bawah ini:
1- Buat kelas sortir
2- Kirim array Anda yang tidak disortir ke
Quicksort
kelas3 - Output
sumber
Kami juga dapat menggunakan pohon pencarian biner untuk mendapatkan array yang diurutkan dengan menggunakan metode traversal in-order. Kode juga memiliki implementasi pohon pencarian biner dasar di bawah ini.
}
sumber