昨天学习JAVA的时候遇到一道编程题:编写一个随机发牌和洗牌的程序。我和同学讨论了半天想到了math.random()可是这个函数每次都只能从0~1中取,而且又不能保证所有的数都能被取到。
后来我们想到给上面的函数乘以牌数,然后强制转换成整数,可是后面的问题还是没有解决。我想到定义一个长度和牌的数目一样的数组,然后每次丛数组取出一个数,就令这个对应的数组中的数为NULL,过后把取到的数对应的放入栈中。
同学说我的算法没有效率,其实我也觉得有点......如果谁有比较好点的算法可以写出来,最好是程序都写出来
我的邮箱是
zyl198511@hotmail.com