프로그래밍/C++

STL list 정리

우대비 2022. 11. 3. 20:59
반응형

c++에서의 list는 연결리스트를 의미함

배열과 달리 "각각의 데이터가 일자로 쭈~욱" 있는게 아니라 "메모리상에 따로 떨어져" 있어도 노상관

 

list의 종류

- 연결 리스트

[ node ] --> [ node ] --> [ node ] --> [ node ]

- 이중 연결 리스트

[ node ] <---> [ node ] <---> [ node ] <---> [ node ]

- 원형 연결 리스트

[ tail ] <---> [ node ] <---> [ node ] <---> [ header] <---> [ tail ]

 

node 안의 정보

- 연결 리스트

현재 노드에 담겨 있는 데이터와 다음 노드의 주소

 

- 이중 연결 리스트

현재 노드에 담겨 있는 데이터와 다음 노드의 주소와 이전 노드의 주소

 

- 원형 연결 리스트

현재 노드에 담겨 있는 데이터와 다음 노드의 주소와 이전 노드의 주소 ( 리스트의 시작과 끝이 연결 되어있음 )

 

 

삽입/ 삭제의 속도

list는 삽입과 삭제의 속도가 좋은편

데이터 삽입시 이전 노드 주소와 다음 노드 주소만 세팅해주면 끝

삭제시에도 주소만 세팅하고 delete해주면 되기 때문에 굉장히 빠르다고 할 수 있음

 

하지만 조건이 하나 있음 

그것은 삽입하려는 위치에 있는 node를 따로 가지고 있어야함

그렇지 않으면 그 위치를 찾으러 한칸한칸 거슬러 올라가야 하기 때문..

 

 

반응형
LIST

'프로그래밍 > C++' 카테고리의 다른 글

STL map  (0) 2022.11.06
STL deque 정리  (1) 2022.11.04
STL vector 정리  (0) 2022.11.02
클래스 템플릿  (0) 2022.11.01
함수 템플릿  (0) 2022.11.01