STL中Vector的使用方法详解

本文详细介绍C++标准库中的Vector容器的使用方法,包括初始化、遍历、增删元素等操作,以及size、capacity等成员函数的应用。

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

转载自:http://blog.sina.com.cn/s/blog_5cf5e7c40100boiu.html

//VectorDemo.cpp : 定义控制台应用程序的入口点。
//Visual C++ 6.0 中编译通过

# include <iostream>
# include <vector>

using namespace std;

typedef vector<int> INTVECTOR;

void PrintIntVector(INTVECTOR iVector)
{
<wbr><wbr><wbr>//遍历vector方法<br><wbr><wbr><wbr>cout&lt;&lt;"Vector: [";<br><wbr><wbr><wbr>for(INTVECTOR::iterator it = iVector.begin(); it != iVector.end(); it++)<br><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr>cout&lt;&lt;*it;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr>if(it != iVector.end()-1)<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>cout&lt;&lt;",";<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr>}<br><wbr><wbr><wbr>}<br><wbr><wbr><wbr>cout&lt;&lt;"]"&lt;&lt;endl;<br> }<br> int main(int argc, char* argv[])<br> {<br><wbr><wbr><wbr>INTVECTOR iVector;<br><wbr><wbr><wbr>//push_back方法<br><wbr><wbr><wbr>iVector.push_back(2);<br><wbr><wbr><wbr>iVector.push_back(3);<br><wbr><wbr><wbr>iVector.push_back(4);<br><wbr><wbr><wbr>iVector.push_back(1);<br><wbr><wbr><wbr>iVector.push_back(10);<br><wbr><wbr><wbr>iVector.push_back(20);<br><wbr><wbr><wbr>PrintIntVector(iVector);<br><wbr><wbr><wbr>//Vector: [2,3,4,1,10,20]<br><wbr><wbr><wbr><br><wbr><wbr><wbr>//pop_back方法<br><wbr><wbr><wbr>iVector.pop_back();<br><wbr><wbr><wbr>PrintIntVector(iVector);<br><wbr><wbr><wbr>//Vector: [2,3,4,1,10]<br><wbr><wbr><wbr><br><wbr><wbr><wbr>//size、capacity 与 max_size方法<br><wbr><wbr><wbr>cout&lt;&lt;"size="&lt;&lt;iVector.size()&lt;&lt;" capacity="&lt;&lt;iVector.capacity()&lt;&lt;"<wbr>max_size="&lt;&lt;iVector.max_size()&lt;&lt;endl;<br><wbr><wbr><wbr>//size=5 capacity=6<wbr>max_size=1073741823<br><wbr><wbr><wbr><br><wbr><wbr><wbr>//reserve方法<br><wbr><wbr><wbr>iVector.reserve(20);<br><wbr><wbr><wbr>cout&lt;&lt;"After reserve: size="&lt;&lt;iVector.size()&lt;&lt;" capacity="&lt;&lt;iVector.capacity()&lt;&lt;"<wbr>max_size="&lt;&lt;iVector.max_size()&lt;&lt;endl;<br><wbr><wbr><wbr>//After reserve: size=5 capacity=20<wbr>max_size=1073741823<br><wbr><wbr><wbr><br><wbr><wbr><wbr>//resize方法<br><wbr><wbr><wbr>iVector.resize(100);<br><wbr><wbr><wbr>cout&lt;&lt;"After resize: size="&lt;&lt;iVector.size()&lt;&lt;" capacity="&lt;&lt;iVector.capacity()&lt;&lt;"<wbr>max_size="&lt;&lt;iVector.max_size()&lt;&lt;endl;<br><wbr><wbr><wbr>//After resize: size=100 capacity=100<wbr>max_size=1073741823<br><wbr><wbr><wbr><br><wbr><wbr><wbr>//begin方法<br><wbr><wbr><wbr>iVector.resize(5);//修改为5<br><wbr><wbr><wbr>INTVECTOR::iterator iter;<br><wbr><wbr><wbr>iter = iVector.begin();<br><wbr><wbr><wbr>cout&lt;&lt;"First element:"&lt;&lt;*iter&lt;&lt;endl;<br><wbr><wbr><wbr>//First element:2<br><wbr><wbr><wbr><br><wbr><wbr><wbr>//insert方法<br><wbr><wbr><wbr>//PrintIntVector(iVector);<br><wbr><wbr><wbr>iter = iVector.insert(iter, 65);<br><wbr><wbr><wbr>iVector.insert(iter+1, 2, 30);<br><wbr><wbr><wbr>iVector.insert(iVector.end(), iVector.begin(), iVector.end());//复制<br><wbr><wbr><wbr>PrintIntVector(iVector);<br><wbr><wbr><wbr>//Vector: [65,30,30,2,3,4,1,10,65,30,30,2,3,4,1,10]<br><wbr><wbr><wbr><br><wbr><wbr><wbr>//at方法<br><wbr><wbr><wbr>cout&lt;&lt;"Fifth element:"&lt;&lt;iVector.at(4)&lt;&lt;endl;<br><wbr><wbr><wbr>//Fifth element:3<br><wbr><wbr><wbr><br><wbr><wbr><wbr>//front 和 back方法<br><wbr><wbr><wbr>cout&lt;&lt;"First element: "&lt;&lt;iVector.front()&lt;&lt; endl;<br><wbr><wbr><wbr>cout&lt;&lt;"Last element: "&lt;&lt;iVector.back()&lt;&lt; endl;<br><wbr><wbr><wbr>//First element: 65<br><wbr><wbr><wbr>//Last element: 10<br><wbr><wbr><wbr><br><wbr><wbr><wbr>//erase方法<br><wbr><wbr><wbr>iVector.erase(iVector.begin());<br><wbr><wbr><wbr>PrintIntVector(iVector);<br><wbr><wbr><wbr>//Vector: [30,30,2,3,4,1,10,65,30,30,2,3,4,1,10]<br><wbr><wbr><wbr><br><wbr><wbr><wbr>//reverse_iterator使用方法<br><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值