Fisher Yates 洗牌算法「建议收藏」

Fisher Yates 洗牌算法「建议收藏」//经典的洗牌算法,数组中随机抽一个元素与最后一个进行交换,下次在前n-1个元素中随机抽,依次类推直到最后一个voidshuffle(CREC*array,longn){longi,j;CRECtmp;for(i=n-1;i>0;i–){j=rand_long(i+1);tmp=a

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

//经典的洗牌算法,数组中随机抽一个元素与最后一个进行交换,下次在前n-1个元素中随机抽,依次类推直到最后一个
void shuffle(CREC *array, long n) {
    long i, j;
    CREC tmp;
    for (i = n - 1; i > 0; i--) {
        j = rand_long(i + 1);
        tmp = array[j];
        array[j] = array[i];
        array[i] = tmp;
    }
}

看到glove/shuffle.c中一个洗牌的小算法,感觉非常简单,做个笔记。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/191110.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 数据库去重_sql如何去重查询

    数据库去重_sql如何去重查询转载地址:https://blog.csdn.net/anya/article/details/6407280/用SQL语句,删除掉重复项只保留一条在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select*frompeoplewherepeopleIdin(selectpeopl…

    2022年10月1日
    0
  • java全局变量和局部变量的区别「建议收藏」

    java全局变量和局部变量的区别「建议收藏」java全局变量和局部变量全局变量全局变量又称实例变量,属性,成员变量。位置定义在类中,属于类中的一个成员作用范围因为全局变量是定义在类中的,所以可以使用四种访问权限控制修饰符修饰,但是不论使用哪种,全局变量在当前类中的每一个方法中都可以被访问到,(static修饰的静态方法只能访问static修饰的属性)默认值全局变量有默认值基本类型的实例变量:整型 :默认值为0浮点型 :默认值为0.0布尔型 :默认值为false字符型 :默认值为0或者‘\u0000’引用类型的实

    2022年8月21日
    5
  • FFmpeg的H.264解码器源代码简单分析:概述「建议收藏」

    FFmpeg的H.264解码器源代码简单分析:概述「建议收藏」本文简单记录FFmpeg中libavcodec的H.264解码器(H.264Decoder)的源代码。这个H.264解码器十分重要,可以说FFmpeg项目今天可以几乎“垄断”视音频编解码技术,很大一部分贡献就来自于这个H.264解码器。这个H.264解码器一方面功能强大,性能稳定;另一方面源代码也比较复杂,难以深入研究。本文打算梳理一下这个H.264解码器的源代码结构,以方便以后深入学习H.264使用。

    2022年6月22日
    108
  • 使用javascript实现数组截取

    使用javascript实现数组截取前言:在开发项目的过程中遇到这样的一个问题,就是需要对接口查询出来的数据两个两个的进行截取,之后分别两个两个的放入数组中,再把这些数组放到一个新数组中,实现方法如下:方法一:functionarrayChunk(array,size){ letdata=[]; for(leti=0;i<array.length;i+=size){ data.push(array.slice(i,i+size)) } returndata;}arrayChunk([{i

    2022年6月5日
    35
  • Jwt生成和解析工具类(万用版,可作为数据存储容器来传输)

    Jwt生成和解析工具类(万用版,可作为数据存储容器来传输)packagecom.ciih.authcenter.client.util.jwt;importcom.alibaba.fastjson.JSON;importcom.auth0.jwt.JWT;importcom.auth0.jwt.JWTCreator;importcom.auth0.jwt.JWTVerifier;importcom.auth0.jwt.algorithms.Algorithm;importcom.auth0.jwt.interfaces.Claim;.

    2022年6月15日
    109
  • Python基本特殊方法之__new__建议收藏

    __new__()和不可变对象__new__方法的一个用途是初始化不可变对象,__new()__方法中允许创建未初始化的对象,这允许我们在__init__()方法被调用之前先设置对象的属性例:为f

    2021年12月19日
    47

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号