c++ vector
来源:互联网 发布:avena 36一盒粉末淘宝 编辑:程序博客网 时间:2024/06/11 13:52
笔试题中vector 是很常用的存储器,而有些函数的细节总是一知半解。
back() 与end() 的区别
back():返回当前vector最后一个元素的引用;
end():返回一个这项当前vector最后一个元素的下一个位置的迭代器。尾地址,不指向任何存储的元素,是标志vector的结束。
补充:
begin() 指向vector起始位置迭代器;
rbegin() 指向末尾的下一位置,其存储的元素是末尾元素的值;
x = *(m.rbegin()+1); 则是倒数第二个元素的值;
rend() 当前vector 起始位置的逆迭代器;
x = *(m.rend()-1); 的值是 第一个元素;
x = *(m.rend()-2); 的值是 第二个元素;
#include <iostream>#include <vector>using namespace std;int main() { vector<int> m = { 1,2,3,4 }; int x; x = m.back(); cout << x << endl; //x=4 x = *(m.end()-1); cout << x << endl; //x=4 x = *(m.begin()); cout << x << endl; //x=1 x = *(m.rbegin()); cout << x << endl; //x=4 x = *(m.rend()-1); cout << x << endl; //x=1 system("pause"); return 0;}
insert()与push_back()的区别
insert 第一个参数是迭代器,向迭代器之前的位置插入元素;
vec.insert(vec.end(),a) ==vec.push_back(a);
//vec.insert(vec.end(),a) 测试#include <iostream>#include <vector>using namespace std;int main() { vector<int> m = { 1,2,3,4 }; m.insert(m.end(), 5); cout << "{"; for (int i = 0; i < m.size(); i++) { cout << m[i] << ","; } cout << "}" << endl; // cout {1,2,3,4,5,} system("pause"); return 0;}//测试在其他位置插入int main() { vector<int> m = { 1,2,3,4 }; m.insert(m.begin(), 0); cout << "{"; for (int i = 0; i < m.size(); i++) { cout << m[i] << ","; } cout << "}" << endl; // {0,1,2,3,4,} system("pause"); return 0;}//测试插入n个值int main() { vector<int> m = { 1,2,3,4 }; m.insert(m.begin(), 5,0); //第二个参数为N个数,第三个参数为要插入的值 cout << "{"; for (int i = 0; i < m.size(); i++) { cout << m[i] << ","; } cout << "}" << endl; // {0,0,0,0,0,1,2,3,4,} system("pause"); return 0;}
有待补充……
阅读全文
0 0
- C++Vector
- c++vector
- c++:vector
- <C++>vector
- C++vector
- 【c++】【vector】
- C++ vector
- c++: vector
- c ++ vector
- C++vector
- c++:vector
- C++<vector>
- C++Vector
- c/c++,vector
- 【c/c++】Vector入门
- [C++] 何时使用vector
- c++vector模板类
- c++vector模板类
- flume介绍
- < 笔记 > Java SE
- 网站被封申诉通道方式方法
- 《数据聚类》书籍序言阅读摘抄及思考——关于人工智能未来研究
- css布局:table布局、两栏布局、三栏布局
- c++ vector
- Socket网络编程基础
- Android事件分发机制(View)
- synchronized关键字
- vs编译器使用时的问题及解决方案
- saber (线段树维护dp)
- ctf/web源码泄露及利用办法【总结中】
- 2017.10.6 P97-zhx
- Hadoop安装教程_伪分布式配置