📦 배열
- 정의
- 각 index에 대해 하나의 value가 연관된 <index, value> 쌍들의 집합
- 같은 형의 변수를 여러 개 만드는 경우 사용
- int score[10] → 10개의 int형을 score 이름으로 묶음
- 특성
- 순차적으로 메모리 할당
- <인덱스, 원소 값> 쌍의 집합 (mapping)
- 원소들이 모두 같은 타입 및 크기를 가짐
- 배열 크기
A[0] = Base
A[1] = Base + 1 * sizeof (int)
A[2] = Base + 2 * sizeof (int)
- 인덱스
- 순서를 나타내는 원소의 유한 집합
- 집합 내에서의 상대적 위치 식별
- 원소 수가 한정되어 있어 항상 마지막 원소 존재
- 인덱스만으로 원하는 원소를 직접 접근
- 인덱스가 n개로 표현되면 n차원 배열
📦 배열 ADT
- object
- <index, value> 쌍의 집합. index 부분은 0 ~ n-1로 나타냄
- 1차원 배열의 index 부분은 { 0, 1, ... n-1 }
- 2차원 배열의 index 부분은 { (0,0), (0,1), ,.. (0, n-1), (1, 0), ... (n-1, n-1)}
- function
- A ∈ Array, i∈ index, x ∈ item or value, j∈ integer
- Array
Create(j,list)
= return j 차원의 한 array
- Item
Retrieve(A,i)
= if ( i ∈ index) then return 배열 A 인덱스 i 값의 item
- Array
Store(A,i,x)
= if (i ∈ index) then return 새로운 <i,x> 쌍이 삽입된 배열 A