<aside> ❓ 배열
</aside>
배열 - 메모리 상에 원소를 연속하게 배치한 자료구조
배열의 성질)
Cache hit rate(캐시 메모리 적중률) : “적중률 = 적중 횟수 / 총 접근 횟수”로 캐시 기억장치가 있는 컴퓨터의 성능을 나타내는 척도 적중률이 0.95~0.99일 때 우수한다고 함
<aside> ❓ 배열의 구현
</aside>
/* insert 구현 */
void insert(int idx, int num, int arr[], int& len){
for(int i = len; i > idx; i--)
arr[i] = arr[i-1];
arr[idx] =num;
len++;
}
/* erase 구현 */
void erase(int idx, int arr[], int& len){
len--;
for(int i = idx; i < len; i++)
arr[i] = arr[i+1]
}
/* 배열 초기화 */
int a[21];
int b[21][21];
/* fill 함수 사용 */
fill(a, a+21, 0);
for(int i = 0; i <21; i++)
fill(b[i], b[i] + 21, 0);
/* 반복문 사용 */
for(int i = 0; i < 21; i++)
a[i] = 0;
for(int i = 0; i < 21; i++)
for(int j = 0; j < 21; j++)
b[i][j] = 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';
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'; // {124}
v4.pop_back(); // {1, 2}
v4.clear(); // {}
}