Vector
Vector 관련 기록.
이 글의 목차
Simple Vector
template<typename T>
struct Vector {
T *data;
int capa, size;
Vector() {
capa = 10;
size = 0;
data = new T[capa];
}
void insert(T v) {
if (capa == size) {
auto old = data;
data = new T[capa * 2];
for(int i = 0; i < capa; ++i) data[i] = old[i];
capa *= 2;
delete[] old;
}
data[size++] = v;
}
bool erase(T v) { // Erase 1st element that is matched
for(int i = 0; i < size; ++i) {
if (data[i] == v) {
data[i] = data[--size];
return true;
}
}
return false;
}
};
Time Complexity
- Insert:
- Erase:
이전 사이트에서 옮긴 글입니다. 원래 주소