1-3次元配列のベクトルによる書き方
1, 2, 3次元をそれぞれ vec, mat, tns と書く。
vecmac.cpp
template<typename T> using vec = std::vector<T>;
template<typename T> using mat = std::vector<std::vector<T> >;
template<typename T> using tns = std::vector<std::vector<std::vector<T> > >;
初期化
1次元の場合
vecinit.cpp
std::vector<int> a = {0, 10, 5}; // c++11
vec<double> res(n, 0.0); // initialize a vector with 0.0
vec<X> res(n); // initialize a vector with n elements
複数次元(3次元 x, y, z)の場合
tnsinit.cpp
 tns<double> alpha = vec<vec<vec<double>>>(x, vec<vec<double>>(y, vec<double>(z, 0.0)));
要素の追加と削除
ソートされたベクトル v に順序を保ったまま、要素の削除と追加を行う例
  vector<int>::iterator p;
  vector<int> v, arr;
  sort(v.begin(), v.end());
  for (int i = 0; i < n - d; i++) {
    // delete arr[i] from v
    p = lower_bound(v.begin(), v.end(), arr[i]);
    v.erase(p);
    // insert arr[i+d] into v
    p = lower_bound(v.begin(), v.end(), arr[i + d]);
    trail.insert(p, arr[i + d]);
  }
p = lower_bound(v.begin(), v.end(), a) は指定された値 a 以上の最初の要素を指すイテレータが入る。