vector

本文详细介绍了C++标准库中的vector容器的使用方法,包括如何创建、调整大小、指定容量等操作,并通过示例展示了empty、size、capacity、max_size、reserve等函数的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

vector容器中的函数








22.容器中resize假如原来的元素很多,就从后面的删除,

24.#include "Utility.h"

template<typename T>

void printContainer(T _container)

{

for( T::iterator iter = _container.begin();

 iter!=_container.end();

 ++iter)

{

cout<<(*iter)<<endl;

}

}

void main()

{

//---------与vector容器容量相关的函数-----------

vector<int> iVector1;

for ( int i = 0 ; i < 14 ; ++i )

iVector1.push_back(i);

//1. empty() : 容器是否为空

if( iVector1.empty() )

cout<<"iVector1容器为空"<<endl;

else

cout<<"iVector1容器不为空"<<endl;

//2. size() : 求容器中元素的个数

cout<<"iVector1中元素个数为:"<<iVector1.size()<<endl;

 

//3. capacity():

cout<<"iVector1在重新分配内存空间之前所能容纳的最多的元素数量为:"<<iVector1.capacity()<<endl;

 

//4. max_size() :

cout<<"iVector1中最多能够存储元素个数为:"<<iVector1.max_size()<<endl;

 

//5. reserve() : 指定当前容器容量为40个

iVector1.reserve(40);

 

cout<<"指定容量后:"<<iVector1.capacity()<<endl;

 

for (int i = 0 ; i < 27 ; ++i)

{

iVector1.push_back(i+14);

}

cout<<"补充元素后:"<<iVector1.capacity()<<endl;

 

 

//--------创建容器时直接指定容器的容量----------

vector<int>iVector2(10); //初始化容器具有10个0

  vector<int>iVector3(10,2); //初始化容器具有10个2

int iArray4[10] = {1,2,3,4,5,6,7,8,9,10};

vector<int>iVector4(&iArray4[0],&iArray4[5]);

 

//vector容器的特点:支持随机存取

vector<int>iVector5(10);

for (int i= 0; i < 10 ; ++i)

{

iVector5[i] = i+1; //使用[]进行随机存取

}

for (int i= 0; i < 10 ; ++i)

{

if( i < iVector5.size() )

cout<<iVector5.at(i)<<endl; //使用at()函数进行随机存取

else

break;

}

 

//-------assign()函数----------

cout<<"-------assign()函数--------"<<endl;

vector<int> iVector6;

iVector6.assign(10,5);

printContainer(iVector6);

 

 

cout<<"-------assign()函数--------"<<endl;

iVector6.assign(2,8);

printContainer(iVector6);

 

cout<<"-------assign()函数--------"<<endl;

iVector6.assign(&iArray4[0],&iArray4[5]);

printContainer(iVector6);

 

if( !iVector6.empty() )

{

cout<<"iVector6第一个元素为:"<<iVector6.front()<<endl;

cout<<"iVector6最后一个元素为:"<<iVector6.back()<<endl;

}

 

//--------resize()函数---------

vector<int> iVector7(10,0);

iVector7.resize(5); //缩小

printContainer(iVector7);

 

cout<<"-------------"<<endl;

iVector7.resize(15,8);

printContainer(iVector7);

 

system("pause");

}

25.vector容器Deque容器中重载了[]可以直接用下标的形式进行访问。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值