STL - 15 (vector - 2)

Youngmin Choi·2021년 6월 19일
0

STL

목록 보기
15/34
post-thumbnail

1. vector를 사용해야 하는 경우

  • 저장할 데이터 개수가 가변적이다!
    배열vector의 가장 큰 차이점은 '배열은 크기가 고정이고, vector는 크기가 동적으로 변한다' 이다. 저장할 데이터 개수를 미리 알 수 없다면 vector를 사용하는 편이 좋다.
  • 중간에 데이터 삽입이나 삭제가 없다!
    vector는 배열처럼 데이터를 순차적으로 저장한다. 중간에 데이터 삽입, 삭제를 하면 배열과 같은 문제가 발생한다. vector는 가장 뒤에서부터 데이터를 삽입, 삭제하는 경우에 적합하다.
  • 저장할 데이터 개수가 적거나 많은 경우 빈번하게 검색하지 않는다.
    데이러를 순차적으로 저장하므로 많은 데이터를 저장한다면 검색 속도가 빠르지 않다. 검색을 자주한다면 map이나 set, hash_map을 사용해야 한다.
  • 데이터 접근을 랜덤하게 하고 싶다.
    vector배열 같은 특성이 있어서 랜덤 접근이 가능하다.

2. vector VS list

vector 사용법은 list와 비슷한 부분도 있고 다른 부분도 있다. vectorlist의 차이점을 잘 이해한 후 올바른 곳에 적절히 사용해야 한다.

크게 두가지 차이점이 있다.

  1. 중간 삽입/삭제
  2. 랜덤 접근


    결론 :
    중간 삽입, 삭제가 없고 랜덤 접근을 자주 해야 한다면 vector가 좋고,
    중간 삽입, 삭제가 자주 있으며 랜덤 접근이 필요 없으면 list가 좋다.
profile
Always, Continually, In all circumstance

0개의 댓글