在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
参考:http://blog.csdn.net/hancunai0017/article/details/7032383
vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的.
vector头文件 #include<vector>
vector用法 vector <int *> a int b = 5; a.push_back(b);//该函数下面有详解 cout<<a[0]; //输出结果为5 1.push_back 在数组的最后添加一个数据
实现 其中vector<int> c. c.clear() 移除容器中所有数据。 c.empty() 判断容器是否为空。 c.erase(pos) 删除pos位置的数据 c.erase(beg,end) 删除[beg,end)区间的数据 c.front() 传回第一个数据。 c.insert(pos,elem) 在pos位置插入一个elem拷贝 c.pop_back() 删除最后一个数据。 c.push_back(elem) 在尾部加入一个数据。 c.resize(num) 重新设置该容器的大小 c.size() 回容器中实际数据的个数。 c.begin() 返回指向容器第一个元素的迭代器 c.end() 返回指向容器最后一个元素的迭代器
备注:在用vector的过程中的一些问题,特此列出讨论: 1) vector <int > a; int b = 5; a.push_back(b); 此时若对b另外赋值时不会影响a[0]的值 2) vector <int*> a; 此时输出的值并不是一开始b数组初始化的值,而是一些无法预计的值. 分析:根据1) 2)的结果,可以想到,在1)中, 往a向量中压入的是b的值,即a[0]=b,此时a[0]和b是存储在两个不同的地址中的.因此改变b的值不会影响a[0];而在2)中,因为是把一个地址(指针)压入向量a,即a[0]=b,因此释放了b的地址也就释放了a[0]的地址,因此a[0]数组中存放的数值也就不得而知了.
补充:STL标准函数find进行vector 、list链表查找 #include <vector> //注意find不属于vector的成员,而存在于算法中,应加上头文件#include <algorithm>: class example bool operator==(example const & rhs) private: if ( it == ve.end( ) ) //没找到
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论