본문 바로가기

C++

STL 리스트(List)

Vector deque처럼 원소가 상대적인 순서를 유지.

List 시퀸스 컨테이너로 시퀸스 컨테이너가 갖는 모든 특징을 갖는다.

양방향 반복자를 제공한다.

원소 탐색으로는 ++ , -- 사용한다.

 

특징 : 차열 중간에 원소를 삽입(insert) 제거(erase)하더라도 상수 시간복잡도의 수행 성능을 보인다.

Vector deque처럼 원소를 밀어내지 않고 노드를 연결하기만 하면 된다.

 

노드기반 컨테이너의 삽입과 제거 동작은 반복자를 무효화시키지 않는다.

반복자가 가리키는 원소 자체가 제거되지 않는 반복자가 가리키는 원소는 그래도 존재한다.

하지만 배열기반 컨테이너(vector, deque) 삽입, 제거 동작이 발생시 메모리가 할당되거나 원소가 이동할 있으므로 반복자가 무효화된다.

 

List 다른 list 결합할 좋은 컨테이너이다. Splice() 맴버 함수는 노드의 연산만으로 list 하나의 리스트로 결합할 있으며, merge()맴버 함수는 list 하나의 list 정렬하며 결합한다.

 

'C++' 카테고리의 다른 글

클래스(class)와 구조체(struct)의 차이  (0) 2019.05.14
Vector와 list의 차이점.  (0) 2019.05.14
STL 벡터(vector)  (0) 2019.05.14
STL이란 무엇인가?  (0) 2019.05.13
선형, 비선형 자료구조.  (0) 2019.05.13