动态数组(vector)
2021-03-11 12:31
标签:vector 定义 添加 ble 区间 `` cto erase 排序 1.功能介绍 (2)a.clear(); (4)a.size() (5)遍历 vector (7)对 vector 内的数据元素进行排序。 (8)在第 i+1 个元素前面插入 x (9)删除第 c 个元素。 (10)删除 i 到 j-1 这个区间的元素 3.应用举例:边的存储 动态数组(vector) 标签:vector 定义 添加 ble 区间 `` cto erase 排序 原文地址:https://www.cnblogs.com/zyq21/p/STL_vector.html
vector底层就是一个数组,当你向该数组中添加元素不足时自动扩大。
2.常用命令
(1)vector
定义一个数据元素类型为 int 的 vector。类型可以为任何的基本类型,如 int、double、char、结构体、甚至vector,如二维vector a:vector
初始化,清空数据,但是不会释放内存,如首先分配了 10,000 个字节,然后erase掉后面9,999 个,则虽然有效元素只有一个,但是内存占用仍为 10,000个。但是大部分是不会卡内存的,除非多组数据+数据量很大。
(3)向尾部插入aa.push_back(a);
vector 当前元素个数,下标从 0 开始
如遍历 vector :for(int i=0; i
vector
sort(a.begin(),a.end(),cmp)
a.insert(a.begin()+i,x);。
a.erase(a.begin()+c-1);
a.erase(a.begin()+i,a.begin()+j);//insert 和 erase 操作是 o(n)的,时间复杂度大,不推荐使用。
struct EDGE {
int u,v,w; //表示一条从 u 到 v 权值为 w 的有向边
EDGE (int a, int b, int c) {
u=a, v=b, w=c;
}
};
vector
下一篇:数组——delete