자바 는 2 차원 배열 과 희소 배열 간 의 전환 을 실현 한다.

머리말
자바 로 2 차원 데이터 와 희소 배열 간 의 전환 을 실현 하 다.
1.수요 와 사고 분석
1.1 2 차원 배열 의 형식 으로 바둑판,지도 등 유사 한 2 차원 구 조 를 모 의 한 것 을 바탕 으로 희소 한 배열 과 전환 한다.

1.2 사고방식 분석
2 차원 배열 이 희소 배열 로 바 뀌 었 다.
  • 원 초적 인 2 차원 배열 을 옮 겨 다 니 며 효과 적 인 데이터 갯 수 sum
  • 을 얻 었 습 니 다.
  • sum 에 따라 희소 배열 sparseArr int[sunm+1][3]
  • 를 만 들 수 있 습 니 다.
  • 2 차원 배열 의 유효 데 이 터 를 희소 배열
  • 에 저장 합 니 다.
    희소 배열 이 2 차원 배열 로 전환 하 다.
  • 희소 한 배열 의 첫 줄 을 먼저 읽 고 첫 줄 의 데이터 에 따라 원시 적 인 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 차원 배열 과 희소 배열 의 전환 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 저 를 많이 응원 해 주세요!

    좋은 웹페이지 즐겨찾기