vector 连续内存 顺序性容器
头文件
#include <vector>
声明
1.产生空的容器 vector<type> vectorname
2. 产生特定大小的容器。每个元素以其类型的默认值作为初值(int,double的默认值为0) vector<string> svec(10)
3.产生特定大小的容器,并为每个元素指定初值(都是同一个值) vector<int> ivec(10,-1)
4.一对iterator(用来标示一组元素(作为初值)的范围) int ia[8]={1,1,2,3,5,8,13,21}; vector<int> fib(ia,ia+8);
5.复制另一容器 vector<string> svec1;
填充svec1…vector<string> svec2(svec1);
操作函数
- push_back(), 在末端插入一个元素,参数为插入的元素
- pop_back(), 删除最后一个元素,无参数
- front(),读取最前端的元素值,无参数
- back()读取末端元素值,无参数
- begin() 首元素的地址,无参数,返回值为iterator,
- end()末元素的下一个元素的地址,无参数,同上
- size()无参数,返回元素的个数
- find(iterator,iterator,type),参数依次为,ivec.begin(),ivec.end()(指向的末元素的后一个元素的地址),要找的那个元素。返回值是指向该元素的迭代器,头文件为
#include <algorithm>
find()可以用于char,string中不可以用于int中,可以用来寻找目标串中的子串(比如“world”里的"or") - insert()插入函数
四种变形
1.iterator insert(iterator position,elemType value)可将value插入position之前,返回值为指向被插入元素的iterator
2.void insert(iterator position,int count,elemType value)可在position前插入count个与value值相同的元素
3.void insert(iterator1 position,iterator2 first,iterator3 last)可在position前插入【first,lasr)所标示的各个元素
4.iterator insert(iterator position)可在position前插入元素,元素的初值围棋所属类型的默认值
10.erase()
两种变形:1.iterator erase(iterator posit)可删除posit所指的元素