C++ 容器Vector简介

C++ Vector简介:

1.      标准库中的顺序容器(使用头文件#include<vector>):

a) 可变大小数组
b) 支持快速随机访问,在尾部之外的位置插入删除元素操作较慢(保存在连续的内存空间中)
Tip:除非你有很好的理由选择其他容器,否则应该使用vector(from 《C++ Primer》)


2. 定义和初始化

vector<T> v1;		//默认构造函数
vector<T>v2(v1);	//拷贝构造函数
vector<T>v3(10)	        //构造v3大小10,元素为空
vector<T>v4(10,x)       //构造v4大小10,元素为x

3. 基本用法&成员函数

bool empty() const;              // 如果为容器为空,返回true;否则返回false
size_type size() const;          // 返回容器中元素个数
size_type capacity() const;      // 容器能够存储的元素个数,capacity() >= size()

事实上,容器中实际使用的元素个数,重新分配内存大小。而capacity表示在当前size下,为容器分配的所申请的内存大小。

栈操作:

void push_back(const T & x);   //向容器末尾添加一个元素
void pop_back();               //弹出容器中最后一个元素(容器非空)

迭代器:

vector<T>::iterator it;
begin与end成员:

分别生成指向容器中第一个元素之前和最后一个元素之后位置的迭代器(常用于遍历容器),例如:

vector<int>::iterator it;
for(it=v.begin();it!=v.end();it++)
{
	  cout<<*it;
}


基于迭代器的插入与删除操作:

//插入
iterator insert(iterator it,const T &x= T());
//例如
vector<int> v(2);
v[0]=1;
v[2]=2;
v.insert(v.begin(),3);//在当前迭代器最前面插入元素3
v.insert(v.begin()+1,4);//此时以新的迭代器为基准插入元素(元素3,1之间)
//遍历结果 3412

//删除操作
// 删除第六个元素,索引值为5
myvector.erase (myvector.begin()+5);

// 删除索引为[0,3)的元素,即前三个元素
 myvector.erase (myvector.begin(),myvector.begin()+3);

获取容器中特殊值得引用:

reference front()    //获取容器中第一个元素的引用
reference back()    //获取容器中最后一个元素的引用
//例如:
int a = v.front();
a=0;   //未修改容器中第一个元素的值
int &b=v.back();
b= 6;   //修改了原容器中最后一个元素的值



参考:

https://software.intel.com/zh-cn/blogs/2011/08/10/c-vector

《C++ primer》(第五版)

http://www.cplusplus.com/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值