본문 바로가기
[C++] Data Structure & Algorithm/STL

[STL] list #1

by song.ift 2023. 5. 15.

list (연결 리스트)

  • list의 동작 원리
  • 중간 삽입/삭제
  • 처음/끝, 삽입/삭제
  • 임의 접근 (Random Access)

 

list<int> li; for (int i = 0; i < 100; ++i) ‌li.push_back(i); li.push_front(0); // vector는 처음 삽입이 비효율적이라 없음 int size = li.size(); //li.capacity(); // 없음 int first = li.front(); int last = li.back(); // li[3] = 10 // 임의접근 허용안됨 list<int>::iterator itBegin = li.begin(); list<int>::iterator itEnd = li.end(); li.insert(itBegin, 100); li.erase(li.begin()); li.pop_front(); li.remove(10); // val와 같은 데이터인 원소는 모두 다 삭제. vector는 비효율적이라 없음.

 

단일 : [1] → [2] → [3] → [4] → [5]

이중 : [1] ←→ [2] ←→ [3] ←→ [4] ←→ [5]

원형 : [1] ←→ [2] ←→ [3] ←→ [4] ←→ [5] ←→

// Node [ data(4) next(4/8) ] -> Node [ data(4) next(4/8) ] class Node { ​​​​public: ​​​​​​​​Node* _next; ​​​​​​​​int _data; }

'[C++] Data Structure & Algorithm > STL' 카테고리의 다른 글

[STL] deque  (0) 2023.05.19
[STL] list #2  (0) 2023.05.19
[STL] vector #4  (0) 2023.05.15
[STL] vector #3  (0) 2023.05.15
[STL] vector #2  (0) 2023.05.15

댓글