List

Vector가 배열 기반의 컨테이너라면, List는 노드 기반의 컨테이너로 이중 연결 리스트로 구현되어 있다. 따라서 컨테이너의 중간에서 삽입과 삭제가 빈번하게 발생한다면 List가 Vector보다 유리하다.

대부분의 멤버 함수는 Vector와 같으므로 다른 부분만 설명한다.

#include <iostream>
#include <list>

using namespace std;

int main() {

    //선언
    list<int> l = { 2, 1, -5, 4, -3, 6, -7 };

    l.sort(); // -7 -5 -3 1 2 4 6

    l.reverse(); // 6 4 2 1 -3 -5 -7

    l.push_front(100); // 100 6 4 2 1 -3 -5 -7

    l.pop_front(); // 6 4 2 1 -3 -5 -7

    return 0;
}

멤버 함수만 가지고 따졌을 때,위의 3가지 멤버 함수를 제외하고 Vector와 크게 다르지 않다. sort()마저 STL의 알고리즘으로 따로 구현이 되어있으므로, 시험이나 SCPC에서 List를 활용할 일이 드물 것으로 예상된다.

results matching ""

    No results matching ""