1. List
- Node기반 컨테이너이다.
- 첫번째 원소와 마지막 원소를 알고 있는 Doubly linked list
- 임의접근이 불가능하다. 순차접근만 가능.
- 연산자("==", "!=", "<", ">", "<=", ">=") 사용 가능.
2. Include
#include <list>
3. 선언
std::list<T> name;
std::list<T> name(SizeType listSize); // initialized to default
std::list<T> name(SizeType listSize, T& initialize);
std::list<T> name(list<T> otherList);
namespace std를 사용함.
생성시 초기화 설정 가능.
기존의 list를 복사해서 생성가능.
4. function
// list를 초기화하며 할당. 기존에 원소가 있으면 clear함
void assign(list<T> otherList)
void assign(SizeType size, T& initialize)
void assign(Iterator first, Iterator last)
// list의 제일 앞에 새로운 노드 추가
void push_front(T& data)
// list의 제일 뒤에 새로운 노드 추가
void push_back(T& data)
// list의 제일 앞에있는 노드 제거 (반환 X)
void pop_front()
// list의 제일 뒤에있는 노드 제거 (반환 X)
void pop_back()
// list의 제일 앞에있는 원소 반환 (제거 X)
T front()
// list의 제일 뒤에있는 원소 반환 (제거 X)
T back()
// list의 제일 앞에있는 노드를 가리키는 iterator 반환 (제거 X)
iterator begin()
// list의 제일 뒤에있는 노드의 다음 공간을 가리키는 iterator 반환 (제거 X)
iterator end()
// list의 제일 뒤에있는 노드를 가리키는 iterator 반환 (제거 X), 접근순서가 역순
iterator rbegin()
// list의 제일 앞에있는 노드의 이전 공간을 가리키는 iterator 반환 (제거 X), 접근순서가 역순
iterator rend()
// iterator가 가리키는 곳에 원소 삽입, 삽입된 원소를 가리키는 iterator 반환
iterator insert(Iterator ptr, T&& data)
iterator insert(Iterator ptr, const T& data)
iterator insert(Iterator ptr, list<T> otherList)
iterator insert(Iterator ptr, Iterator first, Iterator last)
// iterator가 가리키는 곳에 있는 원소 삭제, 삭제한 원소의 다음 원소를 가리키는 iterator 반환
iterator erase(Iterator ptr)
iterator erase(Iterator first, Iterator last)
// list가 비어있으면 true를 반환
bool empty()
// list에 있는 원소의 개수를 반환
SizeType size()
// data와 같은 원소를 모두 제거
void remove(T& data)
// 단항 조건자 _Pred에 해당하는 원소를 모두 제거
void remove_if(Pr1 _Pred)
// 원소들의 순차열을 뒤집음
void reverse()
// 원소를 기준에 따라 정렬, default = 오름차순
void sort() // 오름차순
void sort(Pr2 _Pred) // Pr2 = 2항 연산자.
// 두 list를 교체
void swap(list<T>& list1, list<T> list2)
// iterator가 가리키는 곳에 인자로 들어온 list의 모든 원소를 삽입
void splice(Iterator ptr, list<T> otherList)
// 인접한 두 원소가 조건에 맞지 않으면 뒤에 있는 원소를 제거. default = 두 노드의 data가 같으면 제거
void unique()
void unique(Pr2 _Pred) // 2항 연산자.
// 인자로 들어온 list를 해당 list에 합병정렬. default = 오름차순
void merge(list<T>& otherList)
void merge(list<T>&& otherList)
void merge(list<T>& otherList, Pr2 _Pred) // 2항연산자.
void merge(list<T>&& otherList, Pr2 _Pred) // 2항연산자.
// T의 생성자에 파라미터를 넘겨서 T객체 생성후 삽입, 반환값은 삽입된 원소를 가리키는 반복자
iterator emplace(const_iterator iter,_Valty&&... _Val) // iter가 가르키는 곳에 삽입
iterator emplace_front(_Valty&&... _Val) // 앞에 삽입
iterator emplace_back(_Valty&&... _Val) // 뒤에 삽입
'공부 > Standard Template Library (C++ STL)' 카테고리의 다른 글
[C++ STL] Set, Multiset (0) | 2019.04.26 |
---|---|
[C++ STL] Vector (0) | 2019.04.26 |
[C++ STL] Deque (0) | 2019.04.26 |
[C++ STL] Queue (0) | 2019.04.25 |
[C++ STL] Stack (0) | 2019.04.25 |