#include <list>
1. 기본형
- list<data type> : 저장할 원소의 type 선언
2. 반복자(iterator)
- begin() : beginning iterator를 반환
- end() : end iterator를 반환
3. 추가 / 삭제
- push_front(element) : 리스트 제일 앞에 원소 추가
- push_back(element) : 리스트 제일 뒤에 원소 추가
- pop_front() : 리스트 제일 앞에 원소 삭제
- pop_back() : 리스트 제일 뒤에 원소 삭제
- insert(iterator, element) : iterator가 가리키는 부분 "앞"에 원소 추가
- erase(iterator) : iterator가 "가리키는 부분"의 원소 삭제
4. 조회
- *iterator : iterator가 가리키는 원소에 접근
- front() : 첫번째 원소 반환
- back() : 마지막 원소 반환
5. 기타
- empty() : 리스트가 비어있으면 true 아니면 false를 반환
- size() : 리스트 원소들의 수를 반환
#include <iostream>
#include <list>
using namespace std;
int main()
{
list<int> l;
// push_back
l.push_back(5);
l.push_back(6);
l.push_back(7);
l.push_back(8);
l.push_back(9);
l.push_back(10);
// pop_back
l.pop_back();
// push_front
l.push_front(4);
l.push_front(3);
l.push_front(1);
l.push_front(0);
// pop_front
l.pop_front();
// back and front
cout << "list front value : " << l.front() << '\n';
cout << "list end value : " << l.back() << '\n';
// size
cout << "list size : " << l.size() << '\n';
// empty
cout << "Is it empty? : " << (l.empty() ? "Yes" : "No") << '\n';
// iterator
list<int>::iterator begin_iter = l.begin(); // auto begin_iter = l.begin()도 가능
list<int>::iterator end_iter = l.end(); // auto end_iter = l.end()도 가능
// insert
begin_iter++; // 2번째를 가리키는 iterator
l.insert(begin_iter, 2);
// erase
// end_iter이 l.end()를 가리키고 있기때문에 "--" 연산을 꼭 해야 마지막 원소를 가리킬수 있음
end_iter--; // 마지막 원소를 가리키는 iterator
l.erase(end_iter);
// *iterator : 원소 접근
cout << "element list : ";
for(auto i = l.begin(); i != l.end(); i++)
{
cout << *i << " ";
}
return 0;
}
|
cs |
출처 :