Rumah > Java > javaTutorial > Pengisihan Tatasusunan 2D di Jawa

Pengisihan Tatasusunan 2D di Jawa

WBOY
Lepaskan: 2024-08-30 15:27:29
asal
1207 orang telah melayarinya

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-olok

Dalam 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 Isih Tatasusunan 2D dalam Java

Contoh yang berbeza adalah seperti di bawah:

Contoh #1

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);
}
}
Salin selepas log masuk

Output:

Pengisihan Tatasusunan 2D di Jawa

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 #2

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);
}
}
Salin selepas log masuk

Output:

Pengisihan Tatasusunan 2D di Jawa

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.

Contoh #3

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);
}
}
Salin selepas log masuk

Output:

Pengisihan Tatasusunan 2D di Jawa

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.

Kesimpulan

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!

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