배열의 특징
1. 배열의 크기는 고정이다.
- 처음 설정한 크기를 넘어서 데이터를 저장할 수 없다.
2. 중간에 데이터 삽입, 삭제가 용이하지 않다.
- 배열은 데이터를 순차적으로 저장한다. 중간에 데이터를 삽입하면 삽입한 위치 이후의 데이터는 모두 뒤로 하나씩 이동해야 한다.
3. 구현이 쉽다.
4. 랜덤 접근이 가능하다.
- 배열은 데이터를 순차적으로 저장하므로 랜덤 접근이 가능하다.
vector를 사용해야하는 경우
1. 저장할 데이터 개수가 가변적이다.
2. 주간에 데이터 삽입이나 삭제가 없다.
- vector는 배열처럼 데이터를 순차적으로 저장한다. 중간에 데이터 삭제 및 삽입을 하면 배열과 같은 문제가 발생한다.
3. 저장할 데이터 개수가 적거나 많은 경우 빈번하게 검색하지 않는다.
- 데이터를 순차적으로 저장하므로 많은 데이터를 저장한다면 검색 속도가 빠르지 않다.
검색을 자주 한다면 map이나 set, hash_map을 사용해야 한다.
4. 데이터 접근을 랜덤하게 하고 싶다.
- vector는 배열 같은 특성이 있어서 랜덤 접근이 가능하다.
vector사용방법
vector를 사용하려면 vector 헤더 파일을 포함해야 한다.
#include <vector>
vector 형식은 아래와 같다
vector< 자료형 > 변수이름
vector를 int 형에 대해 선언했다.
vector<int> vector1;
선언 후 vector를 사용한다. vector도 list처럼 동적 할당이 가능하다.
vector<int>* vector1 = new vector<int>;
출처: https://gamdekong.tistory.com/71 [Be adventurous.]
댓글