生成vector数据的模版代码

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

void display(vector<int> &arr)
{
    for(auto ele : arr)
        cout << ele << " ";
    cout << endl;
}

void bubbleSort(vector<int> &arr)
{
    if(arr.size() < 2)
        return;

    for(int ed = arr.size()-1; ed>0; --ed)
    {
        for(int i=0; i<ed; ++i)
        {
            if(arr[i] > arr[i+1])
                swap(arr[i], arr[i+1]);
        }
    }

    //显示结果
    display(arr);
}


// 产生[len_range_start,len_range_end] 个范围是 [range_start, range_end]的数字
vector<int> generateVectorInt(int len_range_start, int len_range_end, int range_start, int range_end)
{
    int len = rand()%(len_range_end - len_range_start + 1) + len_range_start;
    vector<int> arr;
    for(int i=0; i<len; ++i)
    {
        arr.push_back(rand()%(range_end - range_start + 1) + range_start);
    }

    //显示结果
    display(arr);
    return arr;
}

int main()
{
    srand((unsigned)time(NULL));
    for(int i=0; i<10; ++i)
    {
        auto arr = generateVectorInt(10,10, -20, 20);
        bubbleSort(arr);
    }
}

猜你喜欢

转载自www.cnblogs.com/randyniu/p/9458587.html