一维随机数组生成器

介绍

本文利用C++模板编写了一个一维随机数组生成器
一维数组生成器的意义在于可以通过生成随机数组来筛选出无法通过的样例用于代码的调试

完整代码

#include <bits/stdc++.h>
using namespace std;

int randSize;

//生成随机数组
template <class T>
T* creatArr(int size, int value){ // size为数组大小上界,value为数据内数字取值范围[-value, value]
    srand(rand()); // 生成随机种子
    randSize = rand()%(size+1)+1; //初始化随机数组大小
    T *arr = new T [randSize];
    for(int i = 0; i < randSize; i++){
        arr[i] = rand()%(value+1) - rand()%(value+1); //生成[-value, vlaue]范围内的随机数
        cout << arr[i] << " ";
    }
    cout << endl;
    return arr;
}

//拷贝数组
template<class T>
T* copyArr(T arr[], int size){
    T* newArr = new T [size];
    for(int i = 0; i < size; i++){
        newArr[i] = arr[i];
    }
    return newArr;
}

template<class T>
void output(T arr[], int size){
    for(int i = 0; i < size; i++){
        cout << arr[i] << " ";
    }
    cout << endl;
}


int main(){
    while(1){
        int *arr = creatArr<int>(10, 100);
        output(arr, randSize);
    }

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值