검색결과 리스트
글
<2차원 배열의 순차 표현>
2차원 배열의 구조를 논리적으로 표현할 때는 행과 열의 구조로 나타내지만, 실제로 메모리에 저장될 때는 1차원 순서로 저장된다.
첫번째 인덱스인 행을 기준으로 하는 행 우선 순서 방법과 마지막 인덱스인 열을 기준으로 하는 기준으
로 하는 열 우선 순서 방법이 있다.
int sale[2][4] = {{63, 84, 140, 130}, {157, 209, 251, 312}};
행 우선 순서 방법은 행을 기준으로 하여 같은 행 안에 있는 열을 먼저 저장하는 방법이다.
위 그림의 배열을 예로 들면 sale[0][0]=63 sale[0][1]= 84 sale[0][2]= 140 sale[0][3]= 130 sale[1][0]= 157 sale[1][1]= 209 sale[1][2]= 251 sale[1][3]=312
[행 우선 순서의 배열 위치를 계산 하는 방법]
시작주소 + (행번호 * 열 개수 + 열 번호) * 원소의 길이
열 우선 순서 방법은 열을 기준으로 하여 같은 열 안에 있는 행을 먼저 저장하는 방법이다.
위 그림의 배열을 예로 들면 sale[0][0]=63 sale[1][0]=157 sale[0][1]=84sale[1][1] =209 sale[0][2]=140 sale[1][2]=251 sale[0][3]=130 sale[1][3]=312
[열 우선 순서의 배열 위치를 계산 하는 방법]
시작주소 + (열번호 * 행 개수 + 행 번호) * 원소의 길이
<3차원 배열의 순차 표현>
int sale[2][2][4] = {{{63, 84, 140, 130}, {157, 209, 251, 312}},
{{59, 80, 130, 135}, {149, 187, 239, 310}};
3차원 논리 구조를 1차원의 물리구조로 변환하는 방법은 2개다.
면 우선 순서 방법은 첫 번째 인덱스인 면을 기준으로 하는 방법이다.
sale[0][0][0]=63 sale[0][0][1]=84 sale[0][0][2]=140 sale[0][0][3]=130 sale[0][1][0]=157 sale[0][1][1]=209 sale[0][1][2]=251 sale[0][1][3]=312 sale[1][0][0]=59 sale[1][0][1]=80 sale[1][0][2]=130 sale[1][0][3]=135 sale[1][1][0]=149 sale[1][1][1]=187 sale[1][1][2]=239 sale[1][1][3]=310
[행 우선 순서의 배열 위치를 계산 하는 방법]
시작주소 + {(면번호 * 행의 개수 *열의개수) + (행번호 * 열의 개수) + 열 번호} * 원소의 길이
열 우선 순서 방법은 마지막 인덱스 열을 기준으로 하는 방법이다.
sale[0][0][0]=63 sale[1][0][0]=59 sale[0][1][0]=157 sale[1][1][0]=149 sale[0][0][1]=84 sale[1][0][1]=80 sale[1][1][1]=187 sale[0][0][2]=140 sale[1][0][2]=130 sale[0][1][2]=251 sale[1][1][2]=239 sale[0][0][3]=130 sale[1][0][3]=135 sale[0][1][3]=312 sale[1][1][3]=312 sale[1][1][3]=310
[열 우선 순서의 배열 위치를 계산 하는 방법]
시작주소 + {(열번호 * 면의 개수 *행의개수) + (행번호 * 열의 개수) + 면 번호} * 원소의 길이
Copyrightⓒ2014 By 한빛아카데미(주)
'Programming > Data Structure' 카테고리의 다른 글
행렬(Matrix) (0) | 2015.12.01 |
---|---|
다항식 순차 자료구조 표현 (0) | 2015.11.30 |
선형 리스트 (1) | 2015.11.30 |
추상 자료형, 알고리즘 (0) | 2015.11.29 |
소프트웨어 생명 주기 6단계 (0) | 2015.11.29 |
RECENT COMMENT