wash card(java 实现)

来源:互联网 发布:数学建模算法与程序 编辑:程序博客网 时间:2024/06/06 07:27

//生成一幅牌,编号为0-53

        int poker[] = new int[54];

        for(int i = 0;i < poker.length;i++){

            poker[i] = i;

        }

        //洗牌

        Random r = new Random();

        int times = 54; //两两交换次数

        int ranIndex;   //随机下标

        int temp;       //交换数字

        int cIndex;     //当前下标

        for(int i = 0;i < times;i++){

            ranIndex = r.nextInt(54); //[0-53]之间的随机数

            //和下标i % 54交换

            cIndex = i % 54;

            if(cIndex != ranIndex){

                temp = poker[cIndex];

                poker[cIndex] = poker[ranIndex];

                poker[ranIndex] = temp;

            }

        }

点评:在该代码中,利用前面介绍的算法首先生成一个包含[0,53]之间所有整数的规则数组poker,然后再使用两两交换的方式对于该数组中的元素交换54次,这个次数可以根据需要进行调整,从而得到了一个符合逻辑要求的数组poker。


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/taobao755624068/archive/2010/08/16/5816315.aspx

原创粉丝点击