티스토리 뷰

자료구조/STL

[STL] List 리스트

히더 2018. 10. 4. 13:11

List 리스트

자료구조 중 Doubly Linked list를 템플릿으로 구현 된 노드 기반 컨테이너이다.

STL list는 연결 리스트를 따로 만들지 않고 사용할 수 있다.


특징

1. 저장할 데이터 개수가 가변적일 때 유연하다. vector, deque 같이 배열 기반이 아니라 노드 기반이라 유연하다.

2. 중간에 데이터 삽입/삭제가 빠르다. 

3. 배열은 랜덤 접근이 가능하나 list는 순차 접근만 가능하다.



#include <list>


list <int> l; int 자료형 list l 선언

l.push_front(a) : 첫 번째 위치에 a 데이터 추가

l.pop_front() : 첫 번째 위치 데이터 삭제

l.push_back(a) : 마지막 위치에 a 데이터 추가

l.pop_back() : 마지막 위치 데이터 삭제

l.front() : 첫 번째 위치 데이터 참조 리턴

l.back() : 마지막 위치 데이터 참조 리턴

l.clear() : 모든 데이터 삭제

l.empty() : 비었으면 true, 데이터가 있으면 false 리턴

l.size() : 데이터 개수 리턴

l.assign(3,0) : 0으로 초기화된 3개의 원소 할당

l.rbegin() : reverse begin


list의 특징적인 함수

l.remove(a) : a와 같은 원소 모두 삭제

l.remove_if(조건) : 조건에 해당하는 원소 모두 삭제

l. sort() : 오름차순 정렬

l.splice(it,l2) : l의 it이 가리키는 곳에서 l2의 모든 원소를 잘라 붙임

l.splice(it,l2,it2) : l의 it이 가리키는 곳에서 l2의 it2가 가리키는 원소를 잘라 붙임

l.unique() : 인접한 원소가 같으면 하나만 남기고 삭제

l.merge(l2) : l2를 l로 합병 정렬(오름차순)





작성자 : 히더

'자료구조 > STL' 카테고리의 다른 글

[STL] Hash_set 해시셋  (0) 2018.10.03
[STL] Hash_map 해시맵  (0) 2018.10.03
[STL] 시퀀스 컨테이너와 연관 컨테이너  (0) 2018.10.03
[STL] Set 셋  (0) 2018.10.02
[STL] Map 맵  (0) 2018.10.02
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함