首页 > 编程 > C++ > 正文

c++中vector的用法详解

2019-11-08 03:20:30
字体:
来源:转载
供稿:网友

vector 可以理解为一种动态数组,可以很方便的存储和都读写数据。

  首先在程序开头处加上#include<vector>以包含所需要的类文件vector

          还有一定要加上using namespace std;

使用函数

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交换数据

code:

#include <stdio.h>#include <vector>#include <Windows.h>using namespace std;int main(){	vector <int> vectorList;	vectorList.push_back(63);	vectorList.push_back(55);	PRintf("%d/n",*vectorList.begin());	printf("%d/n", vectorList.max_size());	printf("%d/n", vectorList.capacity());	printf("%d/n", vectorList[1]);		system("pause");	return 0;}变量的初始化方法

vector<int> a ;                                //声明一个int型向量a

        vector<int> a(10) ;                            //声明一个初始大小为10的向量

        vector<int> a(10, 1) ;                         //声明一个初始大小为10且初始值都为1的向量

        vector<int> b(a) ;                             //声明并用向量a初始化向量b

        vector<int> b(a.begin(), a.begin()+3) ;        //将a向量中从第0个到第2个(共3个)作为向量b的初始值

使用数组初始化

    int n[] = {1, 2, 3, 4, 5} ;

        vector<int> a(n, n+5) ;              //将数组n的前5个元素作为向量a的初值

        vector<int> a(&n[1], &n[4]) ;        //将n[1] - n[4]范围内的元素作为向量a的初值

  1>. a.size()                 //获取向量中的元素个数    2>. a.empty()                //判断向量是否为空    3>. a.clear()                //清空向量中的元素    4>. 复制        a = b ;            //将b向量复制到a向量中    5>. 比较        保持 ==、!=、>、>=、<、<= 的惯有含义 ;        如: a == b ;    //a向量与b向量比较, 相等则返回1    6>. 插入 - insert        ①、 a.insert(a.begin(), 1000);            //将1000插入到向量a的起始位置前                ②、 a.insert(a.begin(), 3, 1000) ;        //将1000分别插入到向量元素位置的0-2处(共3个元素)                ③、 vector<int> a(5, 1) ;            vector<int> b(10) ;            b.insert(b.begin(), a.begin(), a.end()) ;        //将a.begin(), a.end()之间的全部元素插入到b.begin()前    7>. 删除 - erase        ①、 b.erase(b.begin()) ;                     //将起始位置的元素删除        ②、 b.erase(b.begin(), b.begin()+3) ;        //将(b.begin(), b.begin()+3)之间的元素删除    8>. 交换 - swap        b.swap(a) ;            //a向量与b向量进行交换复制代码


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选