> Java > java지도 시간 > Java의 2D 배열 정렬

Java의 2D 배열 정렬

WBOY
풀어 주다: 2024-08-30 15:27:29
원래의
1248명이 탐색했습니다.

다음 문서에서는 Java의 2D 배열 정렬에 대한 개요를 제공합니다. 배열의 배열은 2차원 배열일 수 있습니다. 2D 배열을 구성하는 행렬은 행과 열의 모음을 나타냅니다. 2D 배열의 요소는 무작위로 액세스할 수 있으므로 1차원 배열에서와 마찬가지로 인덱스를 사용하여 2D 배열의 개별 셀에 액세스할 수 있습니다.

광고 이 카테고리에서 인기 있는 강좌 JAVA MASTERY - 전문 분야 | 78 코스 시리즈 | 15가지 모의고사

2D 배열에서 셀에는 두 개의 인덱스가 있습니다. 하나는 행 번호이고 다른 하나는 열 번호입니다. 정렬은 2차원 배열의 요소를 특정 순서로 배열하는 기술입니다. 2D 배열은 오름차순 또는 내림차순일 수 있습니다. Java에서 2차원 배열을 오름차순과 내림차순으로 정렬하는 방법을 살펴보겠습니다.

Java의 2D 배열 정렬 예

다른 예는 다음과 같습니다.

예시 #1

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);
}
}
로그인 후 복사

출력:

Java의 2D 배열 정렬

위 프로그램에서와 같이 sort() 메서드는 2D 배열의 각 요소를 반복하고 현재 요소가 다음 요소보다 큰 경우 숫자를 바꾸는 데 유용합니다. 마지막으로 print 메소드는 2D 배열의 모든 요소를 ​​표시합니다. 위 출력에서 ​​볼 수 있듯이 main 함수에서는 sort() 함수 호출 전후에 2D 배열이 생성되고 인쇄됩니다.

예시 #2

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);
}
}
로그인 후 복사

출력:

Java의 2D 배열 정렬

위의 재작성 프로그램에서와 마찬가지로 sort() 메서드는 2D 배열의 각 요소를 반복하고 배열을 열 단위로 정렬하는 데 유용합니다. 마지막으로 print 메소드는 2D 배열의 모든 요소를 ​​표시합니다. 위 출력에서 ​​볼 수 있듯이 main 함수에서는 sort() 함수 호출 전후에 2D 배열이 생성되고 인쇄됩니다.

예시 #3

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);
}
}
로그인 후 복사

출력:

Java의 2D 배열 정렬

위의 재작성 프로그램에서와 마찬가지로 sort() 메서드는 2D 배열의 각 요소를 반복하고 배열을 행 단위로 정렬하는 데 유용합니다. 마지막으로 print 메소드는 2D 배열의 모든 요소를 ​​표시합니다. 위 출력에서 ​​볼 수 있듯이 main 함수에서는 sort() 함수 호출 전후에 2D 배열이 생성되고 인쇄됩니다.

결론

정렬은 2D 배열의 요소를 특정 순서로 배열하는 기술입니다. 예를 들어 2D 배열의 셀에는 행 번호와 열 번호라는 두 개의 인덱스가 있습니다.

위 내용은 Java의 2D 배열 정렬의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿