文档章节

洗牌算法

AndyZhouX
 AndyZhouX
发布于 2017/08/05 10:46
字数 187
阅读 8
收藏 0

        srand(unsigned seed)通过参数seed改变系统提供的种子值,从而可以使得每次调用rand函数生成的伪随机数序列不同,从而实现真正意义上的“随机”。srand和rand()配合使用产生伪随机数序列。

#include <stdlib.h>
#include <ctime>

void XiPai(int array[], int length)
{
    int index = 0;
    
    int nTemp = 0;

    if (NULL == array || 0 == length)
        return;

    srand(unsigned(time(NULL)));   //获取time函数返回的值,每次更改随机数种子,初始化随机数发生器

    //发牌的时候对于已经分配的数据不再修改
    for (int i = 0; i < length; i++)
    {
        //产生随机索引
        index = i + rand() % (length - i);

        
        //数据[新产生的索引] = 数据[原来的索引];
        nTemp = array[i];
        array[i] = array[index];
        array[index] = nTemp;
    }
}

© 著作权归作者所有

共有 人打赏支持
上一篇: Lua表达式
AndyZhouX
粉丝 2
博文 151
码字总数 102410
作品 0
深圳
程序员
私信 提问

暂无文章

传播正能量——《海南英才》阅读的读后感2200字

传播正能量——《海南英才》阅读的读后感2200字: 新华社记者12月8日从公安部获悉,针对自媒体“网络水军”敲诈勒索等违法犯罪活动突出问题,今年以来,公安部组织各地公安机关依法深入开展侦...

原创小博客
16分钟前
1
0
Confluence 6 对一个空间进行归档后产生的影响

空间 如果一个空间被归档: 将不会在查找结果中显示,除非你选择 在归档空间中查找(Search archived spaces)。如果没有归档空间的话,这个功能是隐藏的。 页面和内容将不会在 Confluence 的...

honeymose
18分钟前
2
0
java框架学习日志-2

上篇文章(java框架学习日志-1)虽然跟着写了例子,也理解为什么这么写,但是有个疑问,为什么叫控制反转?控制的是什么?反转又是什么? 控制其实就是控制对象的创建。 反转与正转对应,正转...

白话
今天
4
0
Integer使用双等号比较会发生什么

话不多说,根据以下程序运行,打印的结果为什么不同? Integer a = 100;Integer b = 100;System.out.println(a == b);//print : trueInteger a = 200;Integer b = 200;System.out.pr...

兜兜毛毛
昨天
10
0
CockroachDB

百度云上的CockroachDB 云数据库 帮助文档 > 产品文档 > CockroachDB 云数据库 > 产品描述 开源NewSQL – CockroachDB在百度内部的应用与实践 嘉宾演讲视频及PPT回顾:http://suo.im/5bnORh ...

miaojiangmin
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部