Vector
← 기록 / Container

Vector

Vector 관련 기록.

이 글의 목차
  1. Simple Vector
  2. Time Complexity

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: O(1)O(1)
  • Erase: O(n)O(n)
AI로 읽기 · Markdown

로그인 없이 읽는 Markdown 원문.

Markdown 열기 ↗
curl -fsSL 'https://www.readiz.com/notes/data-structure/container/vector/index.md'

서비스 열기

열기 방식을 선택해 주세요.

로그인이 필요하거나 창 안에서 열리지 않는 서비스는 현재 탭에서 열어 주세요.