一、vector
介绍:可边长数组
1、vector的定义:
vector<typename> name;
注:vector<vector<int>> name; //两个维都可边长
Vector<typename> arrayname[arraysize]; //一个维固定,另一个维可边长
2、vector容器内元素访问:
2.1、下标访问
2.2、迭代器访问 定义:vector<typename> ::iterator it;
注:*(it+i),vecgor和string才允许使用vi.begin()+ 3这种迭代器加上整数的做法
Vector和string特有
2.3、遍历向量
2.3.1 vi.begin()
2.3.2 vi.end() //去尾元素的下一个地址,左闭右开
注:
Vector迭代器不允许it<it.end(),所以只能it != end()
3、 vector常用函数解析
3.1、push_back(x) 在vector后面添加一个元素x,时间复杂度o(1)
3.2、pop_back() 删除vector的尾元素,时间复杂度o(1)
3.3、size() 获得元素个数,时间复杂度o(1)
3.4、clear() 清空vector中的所有元素,时间复杂度o(N)
3.5、insert(it, x) 用来想vector的任意迭代器it初插入一个元素x,时间复杂度O(N)
3.6、erase(it)
删除单个元素 erase(it)
删除一个区间内的所有元素erase(first,last),(左闭右开)时间复杂度O(N)
3.7、vector常见用途,
(1)存储数据,不确定元素个数时使用
(2)数据中间用空格隔开,最后一个不用空格,可以用这个
(3)用邻接表存储图
网友评论