【C++基础】 顺序容器

来源:互联网 发布:python自动化运维开发 编辑:程序博客网 时间:2024/04/30 01:31

顺序容器:vector,list,deque,总结一些基本重要的操作。

头文件:#include<vector>   #include<list>

空容器定义:vector<string>  svec;


容器初始化操作:

1.容器复制,要求容器类型相同,元素类型相同

vector<int>  ivec1(10,1);

vector<int>  ivec2(ivec1);

2.初始化一段元素,元素相同,容器可不同

int ia[10]={0,1,2,3,4,5,6,7,8,9};

vector<int> ivec(ia,ia+10);

list<int> lst(ivec.begin(),ivec.end());

3.指定数目大小初始化

vector<int>  ivec1(10,1);      10个元素为1的容器

vector<int>  ivec1(10);          10个元素为0的容器


迭代器(iterator):1.一种数据结构     2.定义:vector<int>::iterator iter;

vector容器中点:

 vector<string>::iterator mid=svec.begin()+svec.size()/2;  

迭代器初始化容器元素:

for(vector<int>::iterator iter=ivec.begin();iter!=ivec.end();++iter)

*iter=0;


vector读入和输出:

while(cin>>str)

svec.push_back(str);

for(vector<int>::iterator iter=ivec.begin();iter!=ivec.end();++iter)

cout<<*iter<<endl;


添加元素:

c.push_back(t)          c:容器,t:元素

c.push_front(t) vector不支持front

c.insert(p,t)                p:迭代器

1.指定位置添加

string s1("yes");

svec.insert(svec.begin(),s1);

2.插入一段元素

svec.insert(svec.end(),10,"yes");

int a[4]={1,2,3,4};

ivec.insert(ivec.end(),a,a+4);


删除元素:

c.erase(p)

c.clear()                   删除全部

c.pop_back() 删除最后一个

c.pop_front() 删除第一个,vector不支持












原创粉丝点击