다음 문서에서는 Java의 2D 배열 정렬에 대한 개요를 제공합니다. 배열의 배열은 2차원 배열일 수 있습니다. 2D 배열을 구성하는 행렬은 행과 열의 모음을 나타냅니다. 2D 배열의 요소는 무작위로 액세스할 수 있으므로 1차원 배열에서와 마찬가지로 인덱스를 사용하여 2D 배열의 개별 셀에 액세스할 수 있습니다.
광고 이 카테고리에서 인기 있는 강좌 JAVA MASTERY - 전문 분야 | 78 코스 시리즈 | 15가지 모의고사2D 배열에서 셀에는 두 개의 인덱스가 있습니다. 하나는 행 번호이고 다른 하나는 열 번호입니다. 정렬은 2차원 배열의 요소를 특정 순서로 배열하는 기술입니다. 2D 배열은 오름차순 또는 내림차순일 수 있습니다. Java에서 2차원 배열을 오름차순과 내림차순으로 정렬하는 방법을 살펴보겠습니다.
다른 예는 다음과 같습니다.
2D 배열의 모든 요소를 정렬하기 위한 Java의 2D 배열 정렬 예
코드:
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); } }
출력:
위 프로그램에서와 같이 sort() 메서드는 2D 배열의 각 요소를 반복하고 현재 요소가 다음 요소보다 큰 경우 숫자를 바꾸는 데 유용합니다. 마지막으로 print 메소드는 2D 배열의 모든 요소를 표시합니다. 위 출력에서 볼 수 있듯이 main 함수에서는 sort() 함수 호출 전후에 2D 배열이 생성되고 인쇄됩니다.
2D 배열의 모든 요소를 열 기준으로 정렬하기 위한 Java의 2D 배열 정렬 예
코드:
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); } }
출력:
위의 재작성 프로그램에서와 마찬가지로 sort() 메서드는 2D 배열의 각 요소를 반복하고 배열을 열 단위로 정렬하는 데 유용합니다. 마지막으로 print 메소드는 2D 배열의 모든 요소를 표시합니다. 위 출력에서 볼 수 있듯이 main 함수에서는 sort() 함수 호출 전후에 2D 배열이 생성되고 인쇄됩니다.
2D 배열의 모든 요소를 행 기준으로 정렬합니다.
코드:
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); } }
출력:
위의 재작성 프로그램에서와 마찬가지로 sort() 메서드는 2D 배열의 각 요소를 반복하고 배열을 행 단위로 정렬하는 데 유용합니다. 마지막으로 print 메소드는 2D 배열의 모든 요소를 표시합니다. 위 출력에서 볼 수 있듯이 main 함수에서는 sort() 함수 호출 전후에 2D 배열이 생성되고 인쇄됩니다.
정렬은 2D 배열의 요소를 특정 순서로 배열하는 기술입니다. 예를 들어 2D 배열의 셀에는 행 번호와 열 번호라는 두 개의 인덱스가 있습니다.
위 내용은 Java의 2D 배열 정렬의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!