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개의 댓글

관련 채용 정보