Page 26 -
P. 26

배열 끝에 "figs"를 삽입하면 다음 그림과 같다.                                                     1

                       그림 1-11                                                                        자료 구조가 중요한 까닭













                    하지만 한 가지 문제가 있다. 애초에 컴퓨터는 배열에 5개의 메모리 셀을 할당했고 6번째 원소를
                    추가하려면 이 배열에 셀을 추가로 할당해야 할 수 있다. 많은 프로그래밍 언어가 내부에서 자동

                    으로 처리하지만 언어마다 방식이 다르므로 너무 깊숙이 파고들지는 않겠다.
                    앞선 예처럼 배열 끝에 삽입하는 것이 아니라 배열의 맨 처음이나 중간에 데이터를 삽입하면 문제
                    가 달라진다. 이때는 삽입할 공간을 만들기 위해 많은 데이터 조각을 이동시켜야 하므로 단계가

                    늘어난다.

                    예를 들어 배열의 인덱스 2에 "figs"를 추가해 보자. 다음 그림으로 살펴보자.

                       그림 1-12
                                   "figs"ܳ ࢗੑೞ۰ח ਤ஖
                                                                               ݫݽܻীࢲ
                                                                              ׮਺ ࣄ੄ ਤ஖











                    위와 같이 하려면 "cucumbers", "dates", "elderberries"를 오른쪽으로 옮겨서 "figs"를 넣을
                    공간을 만들어야 한다. 하지만 여기에도 몇 개의 단계가 필요하다. "dates"를 옮길 공간을 만들려
                    면 먼저 "elderberries"를 한 셀 오른쪽으로 옮겨야 한다. 다음으로 "cucumbers"를 위한 공간을

                    만들려면 "dates"를 옮겨야 한다. 한 단계씩 살펴보자.










                                                                                                  039
   21   22   23   24   25   26   27   28   29   30   31