C++의 STL에 당연하게도 linked list가 구현되어 있다.
이 list는 doubly linked list로, 이중 연결 리스트이다.
사용 방법
선언
int main(void) {
list<int> L = {1, 2}; // 1->2
list<int>::iterator t = L.begin(); // t는 head 가리킴
auto t = L.begin(); // over C++ 11 ver.
}
기본적인 선언이다. 다만 헤드를 가리키는 변수를 만들 때,
C++ 11 이상에서는 다음과 같은 형식이 가능하다.
auto t = L.begin();
메소드
L은 list 변수라 가정한다.
- L.push_back(val)
- L.push_front(val)
- L.insert(addr, val) // addr 앞에 삽입한다
- L.erase(addr) // addr 위치의 값 삭제 후 다음 위치 반환
- L.begin() // 첫 번째 요소의 위치 반환
- L.end() // 마지막 요소의 다음 위치 반환
- L.back() // 마지막 요소의 값 반환
순회
- C++ 11 이상
for(auto i : L) cout << i << ' ';
- C++ 11 미만
for(list<int> iterator it = L.begin(); it != L.end(); it++)
cout << *it << ' ';
'Some Practices > 바킹독 실전 알고리즘 강좌 수강' 카테고리의 다른 글
Pair STL (5) | 2024.07.22 |
---|---|
Deque STL (0) | 2024.07.18 |
Queue STL (0) | 2024.07.17 |
Stack STL (0) | 2024.07.17 |
실수 자료형의 주의점 (0) | 2024.07.11 |