본문 바로가기
[ CODING STUDY ]/》C++ 정리

C++ 23 [STL, list]

by MRG 2023. 4. 26.
728x90
반응형

https://ko.wikipedia.org/wiki/%ED%91%9C%EC%A4%80_%ED%85%9C%ED%94%8C%EB%A6%BF_%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC

 

표준 템플릿 라이브러리 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 표준 템플릿 라이브러리(STL: Standard Template Library)는 C++을 위한 라이브러리로서 C++ 표준 라이브러리의 많은 부분에 영향을 끼쳤다. 이것은 알고리즘, 컨테이너,

ko.wikipedia.org

 

▣ list : 이중 연결 리스트, 선형 구조를 가지는 시퀀스 컨테이너이며 노드 기반으로 데이터를 저장
요소들이 근접한 메모리에 저장되지 않는다. 배열과 다른 구조,  느린 검색과 접근(선형 시간)을 갖지만, 한 번 위치가 찾아지면 빠른 삽입과 제거 시간을 갖는다(상수 시간).

 

▣  list :  #include <list>

 

▣ list 객체생성 : list<데이터타입> 객체이름;

 

▣ push_front() : 리스트 맨 앞에 값 추가

 

▣ push_back(값) : 리스트 마지막에 값 추가

 

▣ insert(포인터, 값) : 리스트에서 해당 포인터에 값 삽입

 

▣ begin() : 리스트 맨 앞에 있는 주소를 반환


▣ end() : 리스트 맨 마지막 다음 주소를 반환

 

▣ pop_front(): 리스트 맨 앞의 원소 삭제


▣ pop_back(): 리스트 맨 뒤의 원소 삭제


▣ erase(it): it가 가리키는 원소 삭제

 

▣ list 장점 : vector와 달리 메모리 재할당의 비용이 들지 않는다, 어느 위치든 삽입, 제거가 빠르다

 

▣ list 단점 : 메모리가 연속적으로 저장되지 않아 vector와 달리 노드로 메모리가 떨어진 형태로 포인터를 이어준 것이기 때문에 메모리가 불연속적, 탐색이 느리다

 

 

728x90
반응형

'[ CODING STUDY ] > 》C++ 정리' 카테고리의 다른 글

C++ 25 [람다 표현식]  (0) 2023.04.28
C++ 24 [STL, map]  (0) 2023.04.26
C++ 22 [STL, vector]  (0) 2023.04.25
C++ 21 [템플릿]  (0) 2023.04.21
C++ 20 [추상클래스, 순수가상함수]  (0) 2023.04.20

댓글