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;
}
关于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
用 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
相关文章推荐
- AES加密
- 【C/C++】报错问题积累
- C++(6):stringstream
- HDU 1008
- 3 C++ Boost 字符,文本
- STL容器知识总结
- 郝斌的C语言基础 115 合理设计函数
- 混合编译:c++文件调用c文件变量和函数、c文件调用c++文件变量和函数
- C++笔记 strcat_s和strcat的区别
- 关于make提示must be enabled with the -std=c++11 or -std=gnu++11 compiler options
- 如何设计一个更好的C++ ORM
- 探索c++的机制
- 【Codeforces 734 C Anton and Making Potions 】+ 思维
- 一些题目
- 从面试开始_C++常见面试题
- 深度探索c++对象模型之template的具现行为
- 解说:C++难在了哪里?
- 条款2:最好使用C++转型操作符
- C++资源文件初使用[C++菜鸟]
- C语言/C++文件的读取与写入操作