Some Practices/바킹독 실전 알고리즘 강좌 수강

List STL

mitdog 2024. 7. 11. 22:45

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