list 컨테이너
list 컨테이너는 이중 연결 리스트로 된 가변 길이 순차열이다. vector, deque와는 다르게 어느 위치라도 O(1)의 시간으로 원소를 삽입할 수 있다.
list<T>
T -> 원소의 타입
멤버 함수 | |
begin |
시작 반복자 반환 |
end |
끝 반복자 반환 |
rbegin |
역방향 시작 반복자 반환 |
rend |
역방향 끝 반복자 반환 |
cbegin |
const 시작 반복자 반환 |
cend |
const 끝 반복자 반환 |
crbegin |
const 역방향 시작 반복자 반환 |
crend |
const 역방향 끝 반복자 반환 |
assign |
내용을 새 원소들로 대체 |
operator= |
원소들을 다른 컨테이너의 원소들이나 초기화 리스트로 대체 |
size |
원소들의 실제 개수 반환 |
max_size |
원소들의 최대 개수 반환 |
resize |
원소들의 개수 변경 |
empty |
원소가 없으면 true 반환 |
front |
첫 번째 원소에 대한 참조 반환 |
back |
마지막 원소에 대한 참조 반환 |
push_back |
순차열 끝에 원소 추가 |
push_front |
순차열 시작에 원소 추가 |
emplace |
지정된 위치 앞에 내부에서 원소를 생성 |
emplace_back |
순차열 끝에 내부에서 원소를 생성 |
emplace_front |
순차열 시작에 내부에서 원소를 생성 |
insert |
지정된 위치 앞에 하나 이상의 원소를 추가 |
pop_back |
순차열의 끝에서 원소를 제거 |
pop_front |
순차열의 시작에서 원소를 제거 |
reverse |
원소들의 순서를 거꾸로 바꿈 |
erase |
지정된 위치에서 원소 하나 또는 범위로 지정된 원소 제거 |
remove |
전달된 인수와 일치하는 원소들을 제거 |
remove_if |
단항 조건자 인수가 true를 반환하는 원소들을 제거 |
unique |
연속되어 중복된 원소를 제거 |
clear |
모든 원소를 제거하고 size를 0으로 |
swap |
두 컨테이너의 모든 원소 교환 |
sort |
원소 정렬 |
merge |
두 컨테이너 병합 (모두 오름차순 정렬된 상태) |
splice |
지정된 위치 앞에 타입이 같은 다른 리스트 삽입 |
* insert, emplace : insert의 경우 원소를 삽입하기위해 임시로 객체를 생성하지만 emplace의 경우 임시로 객체를 생성하지 않는다.
* sort : 인수가 없을 경우 오름차순으로 정렬한다. 인자로 비교하는 조건을 정의한 람다식이나 함수 객체를 인수로 받을 수 있다. std::greater<T>()를 인수로 전달하면 내림차순 정렬.
* merge : 모든 리스트의 원소들을 오름차순으로 병합한다.