C++ - list
2022. 8. 6. 23:29ㆍSTUDY/C++
반응형
list 의 헤더는 #include <list>이다.
리스트는 아시다시피 양방향 연결구조를 가진 자료형이다.
벡터의 단점은 임의의 위치에 원소를 추가하려면 그 위치를 찾아가서 삽입/제거 해야하기때문에 시간 복잡도가 O(n)이지만,
리스트는 O(1)이다.
vector와 다른점은, 위치를 이동할때 (loop 쓸때) lst + 5 요런건 불가능하다는거다. (vec.begin() + 5 이런것.. )
함수는 vector와 동일한듯. push_back, pop_back...
#include <iostream>
#include <list>
using namespace std;
int main() {
list<int> lst;
//list pointer 선언..
list<int>::iterator iter = lst.begin();
for(int i = 0; i < 5; i++) {
lst.push_back(i);
}
lst.pop_back();
lst.pop_front();
iter = lst.begin();
int k = 2;
for(int i = 0; i < k; ++i) {
++iter;
}
lst.insert(iter, 8);// iter의 위치가 1번째니까, 그 다음인 2번째에 8을 삽
입.
for(iter = lst.begin(); iter != lst.end(); iter++) {
cout << *iter << " ";
}
return 0;
}
728x90
반응형
'STUDY > C++' 카테고리의 다른 글
C++ - deque (0) | 2022.08.07 |
---|---|
c++ - stack/queue (0) | 2022.08.07 |
C++ - vector (0) | 2022.08.06 |
vector & array (2) | 2022.08.04 |
C++ 입출력 속도 줄이기 ! (2) | 2022.08.03 |