C++生成随机数据方法

生成随机int数组方法(数据未知)

#include "iostream"
#include "time.h"
using namespace std;

int *RandomInit(int range, int count)//给定range数据取值范围,count数组大小
{
    int *num = new int(count);
    int local;
    srand(time(0));
    for (int i = 0; i < count; i++)
    {
        num[i] = (rand() * i) % range;
    }
    for (int i = count; i > 0; i--)
    {
        local = rand() % i;
        if (i - 1 == local)
            continue;
        num[i - 1] += num[local];
        num[local] = num[i - 1] - num[local];
        num[i - 1] = num[i - 1] - num[local];
    }
    return num;
}

生成随机Int序列(给定数据)

#include "iostream"
#include "time.h"
#include "vector"
using namespace std;

void RandomList(vector<int> &num)
{
    int local;
    srand(time(0));
    for (int i = num.size(); i > 0; i--)
    {
        local = rand() % i;
        if (i - 1 == local)
            continue;
        num[i - 1] += num[local];
        num[local] = num[i - 1] - num[local];
        num[i - 1] = num[i - 1] - num[local];
    }
}

生成随机序列(给定数据)--模板函数

#include "iostream"
#include "time.h"
#include "vector"
using namespace std;

template <class T>
void RandomList(vector<T> &list)
{
    int local;
    T tmp;
    srand(time(0));
    for (int i = list.size(); i > 0; i--)
    {
        local = rand() % i;
        if (i - 1 == local)
            continue;
        tmp = list[local];//因为不确定类型,只能用三元交换法.
        list[local] = list[i - 1];
        list[i - 1] = tmp;
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy阅读 9,541评论 1 51
  • 第四章 程思远办公室来了位不速之客 周五上午,天气晴好,虽已深秋季节,但是仍旧有些暖意。程思远感觉浑身清...
    雪山飞狐_060a阅读 246评论 0 1
  • 15年前,办公室的主任是个不管你怎么做只要时间到活干完就成。15年后,现在的主任来了,一开始我不知道她的风格,凡事...
    云中看花阅读 142评论 0 0
  • 面对顾客的投诉,相信每个店面都有自己的处理流程。但销售在处理投诉时是否按流程办事呢?其实不然,很多销售面对顾客的投...
    Constance1993阅读 1,674评论 0 0