Rumah >Java >javaTutorial >Pengisihan Tatasusunan 2D di Jawa
Artikel berikut menyediakan garis besar untuk Isih Tatasusunan 2D di Jawa. Tatasusunan tatasusunan boleh menjadi tatasusunan dua dimensi. Matriks yang membentuk tatasusunan 2D mewakili koleksi baris dan lajur. Oleh kerana unsur tatasusunan 2D boleh diakses secara rawak, kami boleh mengakses sel individu dalam tatasusunan 2D menggunakan indeksnya, sama seperti yang boleh kami lakukan dengan tatasusunan satu dimensi.
IKLAN Kursus Popular dalam kategori ini JAVA MASTERY - Pengkhususan | 78 Siri Kursus | 15 Ujian Olok-olokDalam tatasusunan 2D, sel mempunyai dua indeks satu ialah nombor barisnya dan satu lagi ialah nombor lajurnya. Isih ialah teknik untuk menyusun elemen dalam tatasusunan 2D dalam susunan tertentu. Tatasusunan 2D boleh sama ada dalam susunan menaik atau menurun. Mari lihat cara mengisih pelbagai cara tatasusunan 2D di Jawa dalam tertib menaik dan menurun.
Contoh yang berbeza adalah seperti di bawah:
Contoh untuk menyusun tatasusunan 2D dalam Java untuk mengisih semua elemen Tatasusunan 2D.
Kod:
package jex; import java.util.*; public class demo { // using bubble sort to sort 2D array // sort 2D array same as it is in a 1D array of size n * m public static void sort(int arr[][]) { int i, j, temp; int n=arr.length; int m=arr[0].length; for (i = 0; i < n * m - 1; ++i) { for (j = 0; j < n * m - 1 - i; ++j) { if (arr[j / m][j % m] > arr[(j + 1) / m][(j + 1) % m]) { temp = arr[(j + 1) / m][(j + 1) % m]; arr[(j + 1) / m][(j + 1) % m] = arr[j / m][j % m]; arr[j / m][j % m] = temp; } } } } public static void print(int arr[][]) { int i, j; int n=arr.length; int m=arr[0].length; for (i = 0; i < n; ++i) { for (j = 0; j < m; ++j) { System.out.print(arr[i][j]+" "); } System.out.println(); } } public static void main(String[] args) { Scanner sc=new Scanner(System.in); int[][] arr={ { 5, 12, 17, 12, 23}, { 1, 2, 4, 6, 8}, {21, 14, 7, 19, 27}, { 3, 18, 9, 15, 25} }; System.out.println("Array Before Sorting is : "); print(arr); sort(arr); System.out.println("Array After Sorting is : "); print(arr); } }
Output:
Seperti dalam atur cara di atas, kaedah sort() berguna untuk mengulang setiap elemen tatasusunan 2D, dan apabila elemen semasa lebih besar daripada elemen seterusnya, kemudian tukar nombor. Akhir sekali, kaedah cetakan memaparkan semua elemen tatasusunan 2D. Dalam fungsi utama, tatasusunan 2D dicipta dan dicetak selepas dan sebelum memanggil fungsi sort(), seperti yang ditunjukkan dalam output di atas.
Contoh untuk menyusun tatasusunan 2D dalam Java untuk mengisih semua elemen tatasusunan 2D mengikut lajur.
Kod:
package jex; import java.util.*; public class demo { public static void sort(int arr[][]) { int i, j,k, temp; int n=arr.length; int m=arr[0].length; for (k = 0; k < m; ++k) { for (i = 0; i < n; ++i) { for (j = 0; j < n - 1 - i; ++j) { if (arr[j][k] > arr[j + 1][k]) { temp = arr[j + 1][k]; arr[j + 1][k] = arr[j][k]; arr[j][k] = temp; } } } } } public static void print(int arr[][]) { int i, j; int n=arr.length; int m=arr[0].length; for (i = 0; i < n; ++i) { for (j = 0; j < m; ++j) { System.out.print(arr[i][j]+" "); } System.out.println(); } } public static void main(String[] args) { Scanner sc=new Scanner(System.in); int[][] arr={ { 5, 12, 17, 12, 23}, { 1, 2, 4, 6, 8}, {21, 14, 7, 19, 27}, { 3, 18, 9, 15, 25} }; System.out.println("Array Before Sorting is : "); print(arr); sort(arr); System.out.println("Array After Sorting is : "); print(arr); } }
Output:
Seperti dalam atur cara tulis semula di atas, kaedah sort() berguna untuk mengulang setiap elemen tatasusunan 2D dan mengisih lajur tatasusunan. Akhir sekali, kaedah cetakan memaparkan semua elemen tatasusunan 2D. Dalam fungsi utama, tatasusunan 2D dicipta dan dicetak selepas dan sebelum memanggil fungsi sort(), seperti yang ditunjukkan dalam output di atas.
Untuk mengisih semua elemen tatasusunan 2D mengikut baris.
Kod:
package jex; import java.util.*; public class demo { // using bubble sort to sort 2D array // sort 2D array same as it is in a 1D array of size n * m public static void sort(int arr[][]) { int i, j,k, temp; int n=arr.length; int m=arr[0].length; for(k=0;k<n;++k){ // applying bubble sort on kth row for(i=0;i<m;++i){ for(j=0;j<m-1-i;++j){ if(arr[k][j]>arr[k][j+1]){ temp = arr[k][j+1]; arr[k][j+1] = arr[k][j]; arr[k][j] = temp; } } } } } public static void print(int arr[][]) { int i, j; int n=arr.length; int m=arr[0].length; for (i = 0; i < n; ++i) { for (j = 0; j < m; ++j) { System.out.print(arr[i][j]+" "); } System.out.println(); } } public static void main(String[] args) { Scanner sc=new Scanner(System.in); int[][] arr={ { 5, 12, 17, 12, 23}, { 1, 2, 4, 6, 8}, {21, 14, 7, 19, 27}, { 3, 18, 9, 15, 25} }; System.out.println("Array Before Sorting is : "); print(arr); sort(arr); System.out.println("Array After Sorting is : "); print(arr); } }
Output:
Seperti dalam atur cara tulis semula di atas, kaedah sort() berguna untuk mengulang setiap elemen tatasusunan 2D dan mengisih baris tatasusunan. Akhir sekali, kaedah cetakan memaparkan semua elemen tatasusunan 2D. Dalam fungsi utama, tatasusunan 2D dicipta dan dicetak selepas dan sebelum memanggil fungsi sort(), seperti yang ditunjukkan dalam output di atas.
Isih ialah teknik untuk menyusun elemen dalam tatasusunan 2D dalam susunan tertentu. Contohnya, dalam tatasusunan 2D, sel mempunyai dua indeks: nombor baris dan nombor lajurnya.
Atas ialah kandungan terperinci Pengisihan Tatasusunan 2D di Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!