정의와 성질
배열: 메모리 상에 원소를 연속하게 배치한 자료구조
배열의 성질
1. O(1)에 k번째 원소를 확인/변경 가능
2. 추가적으로 소모되는 메모리의 양(=overhead)가 거의 없음
3. Cache hit rate가 높음
4. 메모리 상에 연속한 구간을 잡아야 해서 할당에 제약이 걸림
기능과 구현
전체를 특정 값으로 초기화 시키기: algorithm 헤더의 fill 함수
fill(a,a+21,0);
for(int i=0;i<21;i++)
fill(b[i], b[i]+21, 0);
STL vector
#include <bits/stdc++.h>
using namespace std;
int main(void) {
vector<int> v1(3, 5); // {5,5,5};
cout << v1.size() << '\n'; // 3
v1.push_back(7); // {5,5,5,7};
vector<int> v2(2); // {0,0};
v2.insert(v2.begin()+1, 3); // {0,3,0};
vector<int> v3 = {1,2,3,4}; // {1,2,3,4}
v3.erase(v3.begin()+2); // {1,2,4};
vector<int> v4; // {}
v4 = v3; // {1,2,4}
cout << v4[0] << v4[1] << v4[2] << '\n';
v4.pop_back(); // {1,2}
v4.clear(); // {}
}
출처
BaaaaaaaarkingDog | [실전 알고리즘] 0x03강 - 배열 (encrypted.gg)
'Algorithm > 알고리즘 개념 정리' 카테고리의 다른 글
[실전 알고리즘] 큐 (0) | 2022.08.12 |
---|---|
[실전 알고리즘] 스택 (0) | 2022.08.11 |
[실전 알고리즘] 연결 리스트 (0) | 2022.08.10 |
[실전 알고리즘] 기본적인 코드작성요령 (0) | 2022.08.08 |
DFS, BFS 구현 방법 (0) | 2022.06.16 |
댓글