<list>

Yongs12 ㅣ 2023. 7. 4. 23:26

STL에 있는 컨테이너로서

이중연결리스트의 자료구조로 구현되어 있다.

 

#include <iostream>
#include <list>

int main()
{
    std::list<int> listInt;

    // 선택한 자료형을 삽입 
    listInt.push_back(1);

    // 마지막 요소를 제거
    listInt.pop_back();

    // 첫번째 요소를 제거
    listInt.pop_front();

    // 모든 요소를 제거
    listInt.clear();

    // 지정한 위치의 요소를 제거 iterator로 위치 지정
    listInt.erase(listInt.begin());

    // 첫번째 요소를 가르키는 iterator 
    listInt.begin();

    // 마지막 요소를 가르키는 iterator 
    listInt.end();

    return 0;
}

 

 

std::list의 각 함수들의 시간 복잡도

함수 시간 복잡도 설명
push_front() O(1) 리스트의 앞에 요소 추가
push_back() O(1) 리스트의 뒤에 요소 추가
insert(iterator) O(1) 특정 위치에 요소 삽입
pop_front O(1) 리스트의 앞에서 요소 제거
pop_back O(1) 리스트의 뒤에서 요소 제거
erase(iterator) O(1) 특정 위치의 요소 제거
find O(n) 리스트에서 특정 요소 탐색

 

'C, C++' 카테고리의 다른 글

<queue>  (0) 2023.07.06
<stack>  (0) 2023.07.05
iterator 반복자  (0) 2023.07.03
<vector>  (0) 2023.07.02
Template  (0) 2023.07.01