迭代器、静态数组array、动态数组vector,将静态数组中的随机数,翻倍存入动态数组中

此实例主要是对迭代器、静态数组array、动态数组vector的简单应用

main.cpp部分:

#include <iostream>
#include <array>                            // 静态数组
#include <vector>                           // 动态数组
#include <ctime>

using namespace std;

template <typename T>
void show(T container)
{
    
    
                                            // C语言: auto 是一个无用的关键字
                                            // C++: auto 代表自动获取数据的类型

    for(auto element : container)           //1,使用枚举化for循环遍历容器
        cout << element << '\t';
    cout << endl;

    for(auto it=container.begin();          //2,使用迭代器遍历容器(正序)
        it != container.end(); it++)
        cout << *it << '\t';
    cout << endl;

    for(auto it=container.rbegin();         //3,使用迭代器遍历容器(反序)
        it != container.rend(); it++)
        cout << *it << '\t';
    cout << endl;
}

int main()
{
    
    
    array<int, 10> a;                       //静态数组

    srand(time(NULL));                      //产生随机数
    for(int i=0; i<a.size(); i++)
        a.operator [](i) = rand()%1000;

    show(a);
    cout << endl;

    vector<int> b;                          //动态数组

    for(auto it=a.begin();                  //遍历静态数组a
        it != a.end(); it++)
         b.push_back(2*(*it));              //将静态数组a的各个值乘2,存放到动态数组b里面

//    for(int k : a)                        //遍历静态数组a
//        b.push_back(2*k);                 //将静态数组a的各个值乘2,存放到动态数组b里面

    show(b);

    return 0;
}

运行结果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43793181/article/details/108932461