리스트
리스트는 순차 컨테이너다.
삽입과 삭제하는데 걸리는 시간이 상수시간만큼 걸린다.
더블 링크드 리스트로 구현되어 있어서 양방향 순회가 가능하다.
벡터와 덱, 배열과 비교하면 삽입, 삭제, 요소 이동에 장점을 가지고 있고
직접 접근할 수 없는 것이 단점이다. 접근하는 데 선형 시간이 걸린다.
멤버함수
C++11에서 추가된 함수는 배경색을 칠했다.
생성자 | 리스트 객체를 생성한다. |
파괴자 | 리스트 객체를 파괴한다. |
operator= | 객체를 할당한다. |
Iterators
begin | 첫번째 요소를 가리키는 이터레이터를 반환한다. 이터레이터를 증가시키면 다음 요소를 가리키게 된다. |
end | 마지막 요소를 가리키는 이터레이터를 반환한다. |
rbegin | 마지막 요소를 가리키는 역 이터레이터를 반환한다. 이터레이터를 증가시키면 시작위치에 가까운 그 다음 요소를 가리키게 된다. |
rend | 첫번째 요소를 가리키는 역 이터레이터를 반환한다. |
cbegin | 첫번째 요소를 가리키는 const 이터레이터를 반환한다. 가리키는 객체의 값은 수정이 불가하다. |
cend | 마지막 요소를 가리키는 const 이터레이터를 반환한다. 가리키는 객체의 값은 수정이 불가하다. |
crbegin | 첫번째 요소를 가리키는 const 역(reverse) 이터레이터를 반환한다. 가리키는 객체의 값은 수정이 불가하다. |
crend | 마지막 요소를 가리키는 const 역(reverse) 이터레이터를 반환한다. 가리키는 객체의 값은 수정이 불가하다. |
Capacity
empty | 컨테이너가 비어있는지 확인한다. |
size | 크기를 반환한다 |
max_size | 최대 크기를 반환한다 |
Element access
front | 첫번째 요소에 접근한다. |
back | 마지막 요소에 접근한다. |
Modifiers
assign | 컨테이너에 새로운 내용을 할당한다. 새로 쓰여진다. |
emplace_front | 요소를 생성하고 맨 앞에 삽입한다. |
push_front | 맨 앞에 요소를 삽입한다. |
pop_front | 맨 앞 요소를 제거한다. |
emplace_back | 요소를 생성하고 맨 뒤에 삽입한다. |
push_back | 맨 뒤에 요소를 삽입한다. |
pop_back | 맨 뒤 요소를 제거한다. |
insert | 요소를 삽입한다. |
erase | 요소를 제거한다 |
swap | 리스트를 다른 리스트와 바꾼다 |
resize | 크기를 변경한다. |
clear | 리스트 내부 요소를 전부 제거한다. |
emplace | 생성 후 요소를 삽입한다. |
Operations
splice | 리스트에서 리스트로 요소를 옮긴다 |
remove | 값으로 요소를 제거한다. 입력된 값과 같은 요소는 모두 제거된다. |
remove_if | 조건에 맞는 요소를 제거한다. 조건은 함수나 클래스로 만들어질 수 있다. |
unique | 중복되는 값을 제거한다. |
merge | 정렬된 리스트를 병합. 정렬하여 병합된다. |
sort | 내부 요소를 정렬한다. |
reverse | 요소의 순서를 뒤집는다. |
'언어 > C++' 카테고리의 다른 글
[C++/STL] Set (0) | 2020.04.26 |
---|---|
[C++/STL] 컨테이너(Containers) (0) | 2020.02.21 |
[C++/STL]벡터(vector) (0) | 2020.02.20 |