C++自带向量_vector_C++
2016-08-22 12:32
197 查看
vector 向量,是C++自带的一种容器,其实就是一个升级版的数组
因为它使用的是动态空间,所以当我们不确定数组空间的时候可以使用它
若要使用需打开头文件
定义一个 vector
还有一些初始化的定义,以及二位定义,但是个人认为不需在定义时花太多功夫,初始化可在预处理中进行
定义参考:
http://www.cnblogs.com/mr-wid/archive/2013/01/22/2871105.html
使用
可以像数组一样使用,不过要注意它的开头是 0 号位置,即 a[0]
指针
这个指针非常重要,插入删除输出等操作都是与其有关
插入数据
在开头插入 y,这样就省去了写链表的麻烦,它可以把后面的位置自动往后移动
同样可以将指针移动,在指定的位置插入数据
在第 x 与第 x+1 位置之间插入数据 y
我们也可以在末尾插入数据
删除数据
与插入类似,但是只用告诉删除的位置
把第 x+1 位删除,也可以看做删除 a[x]
注意,删除最后一位里面的指针是 a.end()-1,因为 a.end() 返回的是最后一位+1的位置
其它操作
排序可以使用 sort 进行
默认升序,若要降序需手写一个比较器
然后排序的时候添加比较器
版权所有,转载请联系作者,违者必究
QQ:740929894
因为它使用的是动态空间,所以当我们不确定数组空间的时候可以使用它
若要使用需打开头文件
#include<vector>
定义一个 vector
vector<int> a;
还有一些初始化的定义,以及二位定义,但是个人认为不需在定义时花太多功夫,初始化可在预处理中进行
定义参考:
http://www.cnblogs.com/mr-wid/archive/2013/01/22/2871105.html
使用
a[1]=1; scanf("%d",a[1]); printf("%d",a[1]); a[1]=b;
可以像数组一样使用,不过要注意它的开头是 0 号位置,即 a[0]
指针
a.begin() //得到开头的指针 a.end() //得到结尾+1的指针,返回的是一个空地址
这个指针非常重要,插入删除输出等操作都是与其有关
插入数据
a.insert(a.begin(),y);
在开头插入 y,这样就省去了写链表的麻烦,它可以把后面的位置自动往后移动
同样可以将指针移动,在指定的位置插入数据
a.insert(a.begin()+x,y);
在第 x 与第 x+1 位置之间插入数据 y
我们也可以在末尾插入数据
a.insert(a.end(),y);
删除数据
与插入类似,但是只用告诉删除的位置
a.erase(a.begin()+x);
把第 x+1 位删除,也可以看做删除 a[x]
注意,删除最后一位里面的指针是 a.end()-1,因为 a.end() 返回的是最后一位+1的位置
其它操作
a.clear(); //清空 a.empty(); //判断是否为空 a.swap(b); //交换 a 与 b 的数据 a.size(); //返回 a 的大小 a.front(); //得到 a 开头的值,即 a[0] a.back(); //得到 a 结尾的值,即 a[a.size()-1]
排序可以使用 sort 进行
sort(a.begin(),a.end());
默认升序,若要降序需手写一个比较器
bool cmp(int &x,int &y) { return x>y; }
然后排序的时候添加比较器
sort(a.begin(),a.end(),cmp);
版权所有,转载请联系作者,违者必究
QQ:740929894
相关文章推荐
- C++学习笔记(七)----向量(vector)的实现
- c++中vector向量的一些主要问题
- 学习C++ -> 向量(vector)
- C++STL中的向量vector
- c++中 的向量vector
- 如何用C++向量vector生成二维数组
- c++ vector(向量)使用方法详解(顺序访问vector的多种方式)
- C++ STL--vector向量容器学习笔记
- C++中Vector(向量)使用erase时应该注意的事项
- c++ vector(向量)使用方法详解(顺序访问vector的多种方式)
- C++中的向量(Vector)用法
- C++_输入一段数据到向量vector里面
- 学习C++ -> 向量( vector )
- C++STL泛型编程——vector向量容器
- C++数据类型——向量Vector
- C++向量Vector模板的实现
- C++ Vector(向量容器)
- C++ STL入门教程(1)——vector(向量容器)的使用(附完整程序代码)
- C++ STL入门教程(1)——vector(向量容器)的使用(附完整程序代码)
- 学习C++ -> 向量(vector)