Page 26 -
P. 26
배열 끝에 "figs"를 삽입하면 다음 그림과 같다. 1
그림 1-11 자료 구조가 중요한 까닭
하지만 한 가지 문제가 있다. 애초에 컴퓨터는 배열에 5개의 메모리 셀을 할당했고 6번째 원소를
추가하려면 이 배열에 셀을 추가로 할당해야 할 수 있다. 많은 프로그래밍 언어가 내부에서 자동
으로 처리하지만 언어마다 방식이 다르므로 너무 깊숙이 파고들지는 않겠다.
앞선 예처럼 배열 끝에 삽입하는 것이 아니라 배열의 맨 처음이나 중간에 데이터를 삽입하면 문제
가 달라진다. 이때는 삽입할 공간을 만들기 위해 많은 데이터 조각을 이동시켜야 하므로 단계가
늘어난다.
예를 들어 배열의 인덱스 2에 "figs"를 추가해 보자. 다음 그림으로 살펴보자.
그림 1-12
"figs"ܳ ੑೞ۰ח ਤ
ݫݽܻীࢲ
ࣄ ਤ
위와 같이 하려면 "cucumbers", "dates", "elderberries"를 오른쪽으로 옮겨서 "figs"를 넣을
공간을 만들어야 한다. 하지만 여기에도 몇 개의 단계가 필요하다. "dates"를 옮길 공간을 만들려
면 먼저 "elderberries"를 한 셀 오른쪽으로 옮겨야 한다. 다음으로 "cucumbers"를 위한 공간을
만들려면 "dates"를 옮겨야 한다. 한 단계씩 살펴보자.
039