zoukankan      html  css  js  c++  java
  • 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()会报错




  • 相关阅读:
    HDU 1863 畅通工程(Kruskal)
    HDU 1879 继续畅通工程(Kruskra)
    HDU 1102 Constructing Roads(Kruskal)
    POJ 3150 Cellular Automaton(矩阵快速幂)
    POJ 3070 Fibonacci(矩阵快速幂)
    ZOJ 1648 Circuit Board(计算几何)
    ZOJ 3498 Javabeans
    ZOJ 3490 String Successor(模拟)
    Java实现 LeetCode 749 隔离病毒(DFS嵌套)
    Java实现 LeetCode 749 隔离病毒(DFS嵌套)
  • 原文地址:https://www.cnblogs.com/qianwen/p/3833146.html
Copyright © 2011-2022 走看看