자바 는 2 차원 배열 과 희소 배열 간 의 전환 을 실현 한다.
자바 로 2 차원 데이터 와 희소 배열 간 의 전환 을 실현 하 다.
1.수요 와 사고 분석
1.1 2 차원 배열 의 형식 으로 바둑판,지도 등 유사 한 2 차원 구 조 를 모 의 한 것 을 바탕 으로 희소 한 배열 과 전환 한다.
1.2 사고방식 분석
2 차원 배열 이 희소 배열 로 바 뀌 었 다.
희소 배열 이 2 차원 배열 로 전환 하 다.
2.1 2 차원 배열 과 희소 배열 간 의 전환 프로그램
public class SparseArr {
public static void main(String[] args) {
// 11 * 11
// 0: ;1: ;2:
int[][] chessArr = new int[11][11];
chessArr[1][2] = 1;
chessArr[2][3] = 2;
chessArr[2][6] = 1;
//
System.out.print(" :
");
for(int[] a : chessArr ){
for (int item : a ){
System.out.printf( "%d\t", item );
}
System.out.println();
}
//
// 1、 , sum
int sum = 0;
for(int i=0;i < chessArr.length;i++){
for(int j=0;j < chessArr[0].length;j++){
if(chessArr[i][j] != 0){
sum++;
}
}
}
System.out.println(" :" + sum);
//2、 ,
int[][] sparseArr = new int[sum+1][3];
//3、
sparseArr[0][0] = 11;
sparseArr[0][1] = 11;
sparseArr[0][2] = sum;
int count=1;
for(int i=0;i < 11;i++){
for(int j=0;j < 11;j++){
if(chessArr[i][j] != 0){
sparseArr[count][0] = i;
sparseArr[count][1] = j;
sparseArr[count][2] = chessArr[i][j];
count++;
}
}
}
//4
System.out.println(" :");
for (int[] row : sparseArr) {
// for (int data : row) {
// System.out.printf( "%d\t",data);
// }
// System.out.println();
// }
System.out.printf("%d\t%d\t%d\t
", row[0],row[1],row[2]);
}
//
// 1. ,
int[][] chessArr2 = new int[sparseArr[0][0]][sparseArr[0][1]];
// 2. ,
for (int i=1;i < sparseArr.length;i++) {
chessArr2[sparseArr[1][0]][sparseArr[1][1]] = sparseArr[i][2];
}
// 3.
System.out.print(" :
");
for (int[] row : chessArr2) {
for (int data : row) {
System.out.printf("%d\t", data);
}
System.out.println();
}
}
}
2.2 2 차원 배열 이 희소 배열 전시 로 전환 되 었 다.
:
0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0 0
0 0 0 2 0 0 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
:3
:
11 11 3
1 2 1
2 3 2
2 6 1
:
0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0 0
0 0 0 2 0 0 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
3.총화자바 언어 로 양자 간 의 전환 을 실현 하 는 것 은 사고방식 이 매우 중요 하 다.사고방식 에 따라 코드 를 쓰 면 매우 편리 하고 어 려 운 점 은 코드 를 어떻게 쓰 는 지 모 를 수도 있다.
메모:printf 와 print 출력 형식 이 다 릅 니 다.
참조 동 영상
실리콘밸리 자바 데이터 구조 와 자바 알고리즘(자바 데이터 구조 와 알고리즘)
자바 가 2 차원 배열 과 희소 배열 간 의 전환 을 실현 하 는 것 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 자바 2 차원 배열 과 희소 배열 의 전환 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 저 를 많이 응원 해 주세요!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.