vector 的点点滴滴的总结

vector 广义上讲
一个动态的数组
但因为又自带支持多种操作所以比较好用。
vector实际分配的内存比你需要的内存多。

#include<algorithm>

声明

vector< 变量类型 > 变量名//一维
vector< vector<int> > v(m, vector<int>(n) ); //M*N二维记得要打空格

数组可以对vector进行初始化

vector < int > q(sum+1,sum+4);

依次类推

遍历

第一种按数组来

rep(i,0,4)
 {
  q.push_back(sum[i]);  
 }
 rep(i,0,4)
 {
  printf("%d ",q[i]);
 }

第二种迭代器

rep(i,0,4)
 {
  q.push_back(sum[i]);  
 }
 
 for(vector <int>::iterator it=q.begin();it!=q.end();it++)
 {
  cout<<*(it)<<endl;
 }

函数总结

排序

sort(q.begin(),q.end()); //小到大  
reverse(q.begin(),q.end());//大到小 

find

vector < int >::interator it = find(q.begin(),q.end(),5); 

Insert

q.insert(q.begin()+2,5); //在q的第2个元素(从第0个算起)的位置插入数值5,如q为1,2,3,4,插入元素后为1,2,5,3,4
q.insert(q.begin()+1,3,1); //在q的第1个元素(从第0个算起)的位置插入3个数,其值都为1
q.insert(q.begin()+1,a+2,a+3); //a为数组

delete

q.clear(); //清空q中的元素
q.erase(q.begin()+2);//删除第3个元素
q.empty(); //判断q是否为空
q.pop_back(); //删除q最后一个元素
q.erase(q.begin()+1,q.begin()+3); //删除a中第1个(从第0个算起)到第2个元素
原创文章 17 获赞 14 访问量 1277

猜你喜欢

转载自blog.csdn.net/qq_40493829/article/details/103399888