배열 기반 리스트의 장점과 단점
Programming/Data Structure 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"
'Programming > Data Structure' 카테고리의 다른 글
자료구조 공부할 때 지켜야 할 점 (0) | 2012.12.26 |
---|---|
연결 리스트 (Linked List) (3) | 2012.12.26 |
구조체 주소값을 저장 (0) | 2012.12.25 |
배열기반의 리스트 구현 (0) | 2012.12.25 |
배열을 이용한 리스트의 구현 (0) | 2012.12.24 |