`

洗扑克牌(乱数排序)

 
阅读更多

原创转载请注明出处:http://agilestyle.iteye.com/blog/2358123

 

基本思想:54张牌从小到大有序排列,产生一个0-53的随机乱数作为Index,并且与当前的值进行swap,遍历过后,54张牌就从有序变为乱序了

package org.fool.test;

import java.util.Random;

public class Shuffle {

	public static void main(String[] args) {
		int a[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 
				11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 
				21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 
				31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 
				41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 
				51, 52, 53, 54 };
		
		for (int i = 0; i < a.length; i++) {
			int randomIndex = new Random().nextInt(54);
			
			int temp = a[i];
			a[i] = a[randomIndex];
			a[randomIndex] = temp;
		}
		
		printArray(a);
	}
	
	public static void printArray(int[] a) {  
        for (int i : a) {  
            System.out.print(i + " ");  
        }
        
        System.out.println();  
    }

}

 

分享到:
评论

相关推荐

    C经典算法之洗扑克牌(乱数排列)

    ### C经典算法之洗扑克牌(乱数排列) #### 知识点概览 1. **乱数(随机数)生成** 2. **数组操作** 3. **算法设计:洗牌算法** 4. **花色与数值转换** #### 详细说明 **1. 乱数(随机数)生成** 在本程序中,...

    数据结构-3期(KC002) 扑克牌箱排序问题设计.docx

    目标是将洗乱顺序的扑克牌按照点数进行排序。为了实现这一目标,采用了箱排序(Bucket Sort)的思想,这里不是标准的桶排序算法,而是将其应用在链表上,每个“箱子”实际上是一个链表,对应于扑克牌的13个点数。 2...

    经典算法大全,常用的算法都在这里

    洗扑克牌(乱数排列) Craps赌博游戏 约瑟夫问题(Josephus Problem) 集合问题 排列组合 格雷码(Gray Code) 产生可能的集合 m元素集合的n个元素子集 数字拆解 排序 得分排行 选择、插入、气泡排序...

    C语言经典算法大全(几十个经典案例,都有详尽代码)

    洗扑克牌(乱数排列) Craps赌博游戏 约瑟夫问题(Josephus Problem) 集合问题 排列组合 格雷码(Gray Code) 产生可能的集合 m元素集合的n个元素子集 数字拆解 排序 得分排行 选择、插入、气泡排序...

    蓝桥杯信息学奥赛练习试题

    洗扑克牌(乱数排列) Craps赌博游戏 约瑟夫问题(Josephus Problem) 集合问题 排列组合 格雷码(Gray Code) 产生可能的集合 m元素集合的n个元素子集 数字拆解 排序 得分排行 选择、插入、气泡排序...

    C-Program-examples.rar_2维码 C语言_c 卡牌游戏_字串核对_背包问题_蒙塔卡罗法

    洗扑克牌(乱数排列) Craps赌博游戏 约瑟夫问题(Josephus Problem) 集合问题 排列组合 格雷码(Gray Code) 产生可能的集合 m元素集合的n个元素子集 数字拆解 排序 得分排行 选择、插入、气泡排序 ...

    c语言经典算法包括老掉牙,汉诺塔,三色旗

    洗扑克牌(乱数排列) Craps赌博游戏 约瑟夫问题(Josephus Problem) 集合问题 排列组合 格雷码(Gray Code) 产生可能的集合 m元素集合的n个元素子集 数字拆解 排序 得分排行 选择、插入、气泡排序 ...

    C语言经典算法大全

    洗扑克牌(乱数排列) Craps赌博游戏 约瑟夫问题(Josephus Problem)  集合问题 排列组合 格雷码(Gray Code) 产生可能的集合 m元素集合的n个元素子集 数字拆解  排序 得分排行 选择、插入、气泡...

    数据结构与算法

    洗扑克牌(乱数排列) Craps赌博游戏 约瑟夫问题(Josephus Problem) 集合问题 排列组合 格雷码(Gray Code) 产生可能的集合 m元素集合的n个元素子集 数字拆解 排序 得分排行 选择、插入、气泡排序...

    java各种经典算法

    洗扑克牌(乱数排列) Craps赌博游戏 约瑟夫问题(Josephus Problem) 集合问题 排列组合 格雷码(Gray Code) 产生可能的集合 m元素集合的n个元素子集 数字拆解 排序 得分排行 选择、插入、气泡排序...

    经典常用算法 河内塔

    洗扑克牌(乱数排列) Craps赌博游戏 约瑟夫问题(Josephus Problem) 集合问题 排列组合 格雷码(Gray Code) 产生可能的集合 m元素集合的n个元素子集 数字拆解 排序 得分排行 选择、插入、气泡排序...

    Java和C语言实现各种经典算法(含代码图例)

    洗扑克牌(乱数排列) Craps赌博游戏 约瑟夫问题(Josephus Problem) 集合问题 排列组合 格雷码(Gray Code) 产生可能的集合 m元素集合的n个元素子集 数字拆解 排序 得分排行 选择、插入、气泡排序...

    算法设计与分析实验

    本次实验主题为“算法Gossip”,分为两部分:老鼠走迷宫(一)和洗扑克牌(乱数排列)。我们将深入探讨这两个问题,并从中学习到一些基本的算法设计策略和分析方法。 首先,我们来探讨“老鼠走迷宫”问题。这是一个...

    在Python中实现shuffle给列表洗牌

    例如,在模拟一副扑克牌时,可以创建一个包含所有牌面和花色的列表,然后使用shuffle函数进行洗牌,以便于游戏的进行。 在实现随机洗牌功能时,我们通常会将导入random模块、定义列表和调用shuffle函数的过程放在一...

    C语言经典算法大全.pdf

    本资源还涵盖了洗扑克牌(乱数排列)、Craps赌博游戏、约瑟夫问题(Josephus Problem)、排列组合、格雷码(Gray Code)、产生可能的集合、m元素集合的n个元素子集、数字拆解、得分排行、选择、插入、气泡排序、...

    经典算法大全.pdf

    洗扑克牌(乱数排列) 58 25.Algorithm Gossip: Craps赌博游戏 60 26.Algorithm Gossip: 约瑟夫问题(Josephus Problem) 62 27.Algorithm Gossip: 排列组合 64 28.Algorithm Gossip: 格雷码(Gray ...

Global site tag (gtag.js) - Google Analytics