小朋友学C++(18):标准库vector类

vector(向量)是 C++中的一种数据结构,也是一个类。它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的。

一、定义和初始化

vector v1; // T为类型名,比如int, float, string等
vector v2(v1); // 将v1赋值给v2
vector v3(n,i); // v3中含n个值为i的元素

二、操作

v.empty(); // 判断v是否为空
v.size(); // 返回v的长度
v.begin(); // 返回v的第一个元素
v.end(); // 返回v最后一个元素的下一个元素的值(指向一个不存在的值)
v.push_back(a); //在v的最后添加元素a(a必须与v的类型一致)

三、迭代器(iterator)

迭代器相当于指针,用来储存vector中元素的位置,即下标

定义:

vector<T>::iteartor iter = v.begin();   //iter指向v第一个元素
vector<T>::iteartor iter = v.end();     //iter指向v最后一个元素的下一个元素,这个元素不存在,通常用作循环结束的标志
*iter                                           //*iter指向的元素的值,可对其进行赋值
iter++                                      //iter指向v下一个元素

常见用法:
for(vector::iterator iter = v.begin(); iter != v.end(); ++iter)
{
}

四、例子

#include <iostream>
#include <vector>
using namespace std;

int main(int argc, char** argv) 
{
    vector<int> v;
    v.push_back(1);
    v.push_back(2);
    v.push_back(3);

    cout << "Size of v is: " << v.size() << endl;
    for(vector<int>::iterator iter = v.begin(); iter != v.end(); iter++)
    {
        cout << *iter << ' ';   
    }
    cout << endl << endl;

    vector<float> v2(5, 3.33);
    cout << "Size of v2 is: " << v2.size() << endl;
    for(vector<float>::iterator iter = v2.begin(); iter != v2.end(); iter++)
    {
        cout << *iter << ' ';   
    }

    return 0;
}

运行结果:

Size of v is 3
1 2 3

Size of v2 is 5
3.33 3.33 3.33 3.33 3.33



更多内容请关注微信公众号
wechat.jpg

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值