Isih Tatasusunan secara Songsang
Banyak bahasa pengaturcaraan menyediakan fungsi yang mudah untuk mengisih tatasusunan dalam tertib menaik. Walau bagaimanapun, persoalan timbul: Adakah terdapat pendekatan yang sama untuk mengisih tatasusunan dalam tertib menurun?
Kelas Tatasusunan Java
Di Java, kelas Tatasusunan menawarkan jenis() kaedah untuk menyusun tatasusunan. Walau bagaimanapun, kaedah ini tidak mempunyai sokongan langsung untuk tertib menurun. Satu pilihan ialah menggunakan Pembanding untuk mentakrifkan tertib terbalik elemen.
Menggunakan Pembanding
Arrays.sort() membolehkan anda menentukan Comparator untuk menentukan susunan menyusun. Kelas Collections menyediakan kaedah reverseOrder() untuk mencipta Comparator yang menyongsangkan susunan semula jadi.
Arrays.sort(a, Collections.reverseOrder());
Pendekatan ini berfungsi untuk mengisih tatasusunan objek, seperti tatasusunan Integer. Walau bagaimanapun, ia gagal untuk tatasusunan primitif, seperti tatasusunan int.
Alternatif untuk Tatasusunan Primitif
Untuk mengisih tatasusunan primitif dalam tertib menurun, seseorang mesti mengisihnya terlebih dahulu dalam menaik tertib menggunakan Arrays.sort() dan kemudian membalikkan secara manual elemen tatasusunan.
Arrays.sort(a); for (int i = 0, j = a.length - 1; i < j; i++, j--) { int temp = a[i]; a[i] = a[j]; a[j] = temp; }
Dengan menggunakan teknik ini, adalah mungkin untuk mengisih tatasusunan dalam tertib menurun, sama ada ia mengandungi objek atau primitif.
Atas ialah kandungan terperinci Bagaimana untuk Mengisih Array dalam Susunan Terbalik di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!