반응형

list, vector, tree 등 여러개의 데이터를 보관하는 자료구조

  • 특징
    • 배열은 크기 변경이 불가능 하지만 STL vector는 크기 변경 가능
  • 통일된 멤버 함수
    • 대부분 코드 수정 없이 컨테이너 교체 가능
    • 요소 삽입 : push_front, push_back, insert
    • 요소 제거 : pop_front, pop_back, erase
    • 요소 접근 : front, back
    • vector는 앞에 삽입할 수 없다.(push_fron 함수 x)
  • 주의사항
    • pop_back : 제거만 하고 리턴 하지 않음
    • back : 리턴만 하고 제거하지 않음
#include <iostream>
#include <vector>
#include <list>

int main()
{
    int x[10];
    std::vector<int> v(10);
    v.resize(5);

    std::list<int> s1 = { 1,2,3 };
    std::vector<int> s2 = { 1, 2, 3 };

    s1.push_front(10);
    s1.push_back(10);
    s1.push_back(10);
    s1.pop_back();

    int n2 = s1.back();
    int n3 = s1.back();
    s1.pop_back();
    int n4 = s1.back();
}

 

  • array
    • <array>
    • C의 배열과 유사한 자료구조
  • vector
    • <vector>
    • 크기를 변경할 수 있는 동적 배열
  • list
    • <list>
    • 더블 리스트
  • forward_list
    • <forward_list>
    • 싱글 리스트
  • deque
    • <deque>
    • list와 vectort의 혼합형 자료구조
  • set
    • <set>
    • tree
  • map
    • <map>
    • tree를 사용해서 key와 data 저장
  • unordered_set
    • <unordered_set>
    • hash
  • unordered_map
    • <unordered_map>
    • hash를 사용해서 key와 data 저장
  • stack
    • <stack>
    • 스택
  • queue
    • <queue>
  • priority_queue
    • <queue>
    • 우선순위 큐
반응형

+ Recent posts