• vector 遍历


    vector向量容器,是数组的一个泛化推广。实现了类似于数据结构中顺序表的操作。

    vector容器是一个模板类,可以存放任何类型的对象(但必须是同一类对象)。vector对象可以在运行时高效地添加元素,并且vector中元素是连续存储的。

    下面给出了vector的几种遍历

    #include<iostream>
    using namespace std;
    #include<vector>
    void print(const vector<int> &v);
    void display1(vector<int> &v);
    void display2(vector<int> &v);
    int main(void)
    {
        vector<int> v;//构造一个空元素的vector对象
        for(int i=1;i<6;i++)
        {
            v.push_back(i);
        }
        cout<<"v的值为:";
        print(v);
        cout<<"v的值为:";
        display1(v);
        cout<<"v的倒序值为:";
        display2(v);
    
        vector<int>::iterator i;
        cout<<"v.begin()的值:"<<*v.begin()<<endl;
        cout<<"v.end()-1的值:"<<*(v.end()-1)<<endl;// cout<<*v.end();会报错
        cout<<"v.rbegin()的值:"<<*v.rbegin()<<endl;
        cout<<"v.rend()-1的值:"<<*(v.rend()-1)<<endl;
        getchar();
    }
    void print(const vector<int> &v)//使用数组遍历
    {
        for(int i=0;i<v.size();i++)//v.size()得到vector元素的个数,因为和数组一样从0开始,所以遍历到v.size()-1;
        {
            cout<<v[i]<<" ";
        }
        cout<<endl;
    }
    
    void display1(vector<int> &v)//使用vector迭代器遍历
    {
        vector<int>::iterator i;
        for(i=v.begin();i<v.end();i++)
        {
            cout<<*i<<" ";
        }
        cout<<endl;
    }
    
    void display2(vector<int> &v)//使用反向迭代器遍历
    {
        vector<int>::reverse_iterator i;
        for(i=v.rbegin();i!=v.rend();i++)
        {
            cout<<*i<<" ";
        }
        cout<<endl;
    }

    运行结果:

    1.数组的形式遍历,size()函数得到vector的元素个数,类似于数组中的length;使用[]符号,和数组的遍历一样。
    2.使用迭代器遍历。

      begin:返回指向vector第一个元素的迭代器

      end:返回指向vector末尾的迭代器(注意:是指向vector末尾,不是指向vector的最后一个元素),若使用cout<<*v.end()会报错




  • 相关阅读:
    创建客户区窗口,列表框之间项的拖拽操作......(zz)
    在VC的工具条中加入组合框控件(zz)
    丁磊:做一个有分析能力的人
    vc6中CComboBox的使用
    如何在程序中修改控件的字体
    在vc6中如何创建dll
    如何在vc的拆分窗口中使用CFormView派生类
    如何让多文档程序在启动时不创建文档?
    成都国嵌嵌入式linux必修实验手册完整版以及实验源码
    Thinkpad E420/E520/E420S/E220S 刷BIOS SLC2.1 激活OEM win7
  • 原文地址:https://www.cnblogs.com/qianwen/p/3833146.html
Copyright © 2020-2023  润新知