배열 - 정적배열과 동적배열
정적배열 - Array
- 연속된 메모리 공간에 위치한 같은 타입의 요소들의 모음
- 한번 정해진 크기는 변경불가
- 가득찬 공간에 원소 추가하려면 더 큰 배열 생성 후 기존 배열의 원소를 복사한 후 새 원소 추가
- 숫자 인덱스를 기반으로 랜덤 접근이 가능하고 중복을 허용한다.
- vector와 달리 메서드가 없다.
C++ 선언타입
C스타일
1 | int a[10] |
- 배열의 크기를 정하여 선언 가능
- 크기를 정하지 않고 선언하면서 중괄호 요소들을 할당할 수 있다.
std스타일
1 | array<int, 10> a; |
동적배열
- 정적 배열의 특징을 가지면서 가변적인 특징이 더해짐
- 참조: O(1)
- 탐색: O(n)
- 맨끝에서 삽입 / 삭제: O(1)
- 맨 끝 제외 삽입 / 삭제: O(n)
ex) 파이썬의 리스트
C++ 선언방식
1 | vector<타입> 변수명; |