Programming/Data Structure
배열 기반 리스트의 장점과 단점
scii
2012. 12. 25. 23:41
배열 기반 리스트의 단점
- 배열의 길이가 초기에 결정되어야 한다. 변경이 불가능하다.
- 삭제의 과정에서 데이터의 이동(복사)가 매우 빈번히 일어난다.
배열 기반 리스트의 장점
- 데이터의 참조가 쉽다. 인덱스 값을 기준으로 어디든 한 번에 참조가 가능하다.
위의 장점 및 단점은 '연결 기반 리스트' 를 대상으로 비교한 결과이다.
보통 '리스트'라고 하면 '연결 기반 리스트' 를 떠올리고 혹자는 '배열 기반 리스트' 는 불필요하다고까지 말하는 경우가 있다. 하지만 이는 잘못된 것이다.
배열 기반 리스트도 나름의 장점이 있다. 그리고 그 장점은 연결 기반 리스트에는 없는 장점이다.
"배열 기반 리스트도 각종 자료구조의 구현에 중요한 도구이고, 그 자체로도 훌륭한 자료구조이다."
배열 기반 리스트의 활용(주소 값을 저장)
리스트를 활용하는 것이라 ArrayList.h, ArrayList.c 를 포함시켜야 한다.
이 중에서 헤더파일인 ArrayList.h의 typedef 선언은 다음과 같이 변경해야 한다.
typedef int LData; (typedef 선언 변경) → typedef NameCard * LData;
그리고 NameCard라는 이름의 인식을 위해서 ArrayList.h에 다음 문장도 포함시켜야 한다.
#include "NameCard.h"