Developer Cafe

5장 2차원 배열의 순차 표현 본문

자료 구조/자바로 배우는 쉬운 자료구조

5장 2차원 배열의 순차 표현

개발자 카페 2021. 2. 28. 16:16
728x90
class Ex {
 	public static void main(String srgs[]) {
		int sale[][] = new int[][] = {{63, 84, 140, 130}, {157, 209, 251, 312}); 
	}
}

 

  0 1 2 3
0 63    [0][0] 84    [0][1] 140    [0][2] 130    [0][3]
1 157    [1][0] 209    [1][1] 251    [1][2] 312    [1][3]

 

2차원 배열일 경우 원소 위치 계산방법은 행 우선 순서와 열 우선 순서에 따라 달라진다

 

 

 

 

원소 위치 계산

- 행의 개수가 ni이고 열의 개수가 nj인 배열 A[ni][nj] 의 시작 주소가 a이고 원소 길이가 l 일때 A[i][j]의 위치는

행 우선 구조에서는 a+(ixni+j)xl 이 되고, 열 우선 구조에선는 a+(jxni+i)xl 가 된다.

 

 

 

 

 

문1)

선형 리스트 A2차원 배열 A[5][3]으로 표현했을 때, A[3][1]원소는 몇 번째 원소인가? 행우선 순서 방법과 열 우선 순서 방법에 따라 각각 구하시오.

 

행 우선 순서 방법 >>

A[3][1]원소가 저장되는 인덱스 = i x nj + j = 3x3 + 1 = 10

인덱스가 10이므로 11번째 저장원소가 된다.

(인덱스는 0부터 시작!)

 

열 우선 순서 방법 >>

[3][1]원소가 저장되는 인덱스 = j x ni + i = 1x5 + 3 = 8

인덱스가 8이므로 9번째 저장원소가 된다.

(인덱스는 0부터 시작!)

 

728x90
Comments