`

洗扑克牌(乱数排序)

 
阅读更多

原创转载请注明出处: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();  
    }

}

 

分享到:
评论

相关推荐

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

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

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

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

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

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

    经典算法教程 举例详解

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

    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个元素子集 数字拆解 排序 得分排行 选择、插入、气泡排序 ...

    C语言经典算法大全

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

    经典算法全部用C语言实现

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

    C 语言 算法 代码 数据结构

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

    Java算法大全

    洗扑克牌(乱数排列) 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个元素子集 数字拆解 排序 得分排行 选择、插入、气泡排序...

    C语言 经典算法 算法大全

    24.洗扑克牌(乱数排列) 54 25.Craps赌博游戏 56 26.约瑟夫问题(Josephus Problem) 58 27.排列组合 60 28.格雷码(Gray Code) 61 29.产生可能的集合 63 30.m元素集合的n个元素子集 66 31.数字拆解 68 32.得分...

    经典算法大全.

    洗扑克牌(乱数排列).25. Craps 赌博游戏..26. 约瑟夫问题(Josephus Problem)27 排列组合.28: 格雷码(Gray Code)29.: 产生可能的集合..30. m 元素集合的 n 个元素子集....31. 数字拆解32. 得分排行33. 选择、...

    经典算法(C语言)包含51个经典算法的C语言实现

    24.洗扑克牌(乱数排列) 54 25.Craps赌博游戏 56 26.约瑟夫问题(Josephus Problem) 58 27.排列组合 60 28.格雷码(Gray Code) 61 29.产生可能的集合 63 30.m元素集合的n个元素子集 66 31.数字拆解 68 32.得分...

Global site tag (gtag.js) - Google Analytics