您的位置:首页 > 编程语言 > C语言/C++

C++之vector的使用

2016-12-02 20:02 344 查看
vector是C++中的一种数据结构,确切的说是一个类,它相当于一个动态的数组,当程序员无法知道自己需要的数组长度多大时,使用vector可以达到最大节约空间的目的,也就是实现动态分配数组。

用 vector之前,必须包含相应的头文件。

#include <vector>

using std::vector;

#include <iostream>
#include <vector>
using namespace std;

void main()
{
vector <int> array; //定义一个动态数组

int a = 5,b =10 ;
array.push_back(a); //将a的值添加到数组的最后
cout << array[0] << endl; //输出结果为5

array.push_back(b); //将b的值添加到数组的最后
cout << array[1] << endl; //输出结果为10

return;
}
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<int> k;
for (int j = 0; j<12; j++)
{
k.push_back(j);//向kk中追加值
}
for (int j = 0; j<12; j++)
{
cout <<k[j] << " ";
}
system("pause");
return 0;
}
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<int*> k;
int *p = new int[15];
for (int j = 0; j<15; j++)
{
p[j] = j;
k.push_back(&p[j]);
}
for (int i = 0; i < 15;i++)
{
cout << *k[i]<< " ";//因为向量容器里面都是int型的指针变量,
}                           //所以值都是指针,所以需要间接访问运算符*
delete[]p;
system("pause");
return 0;
}


关于vector的成员函数说明:

1.push_back 在数组的最后添加一个数据

2.pop_back 去掉数组的最后一个数据

3.at 得到编号位置的数据

4.begin 得到数组头的指针

5.end 得到数组的最后一个单元+1的指针

6.front 得到数组头的引用

7.back 得到数组的最后一个单元的引用

8.max_size 得到vector最大可以是多大

9.capacity 当前vector分配的大小

10.size 当前使用数据的大小

11.resize 改变当前使用数据的大小,如果它比当前使用的大,者填充默认值

12.reserve 改变当前vecotr所分配空间的大小

13.erase 删除指针指向的数据项

14.clear 清空当前的vector

15.rbegin 将vector反转后的开始指针返回(其实就是原来的end-1)

16.rend 将vector反转构的结束指针返回(其实就是原来的begin-1)

17.empty 判断vector是否为空

18.swap 与另一个vector交换数据

参考:http://blog.csdn.net/fengbingchun/article/details/51510916?locationNum=7&fps=1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: