洗牌算法
来源:互联网 发布:代理商授权书源码系统 编辑:程序博客网 时间:2024/04/28 19:36
今天在论坛上看到洗牌算法,觉得有些意思,揣摩一番
总结如下:从数组的数中随机取出一个和最后一个元素交换,再从前面N-1个数中随机取一个和倒数第二个交换…这样可以达到和前面算法相同的效果而且存储空间也得到了节省,很不错的算法了。
public static int[] xiPai(int buf[]) {
Random random = new Random();
random.setSeed(new Date().getTime());
int times = 53;
while (times != 0) {
int one = random.nextInt(54);
System.out.println("!!!!!!!!!!!!!!!!!!");
System.out.println(one);
// swap(buf[one], buf[times]); // 交换元素
int temp = buf[one];
buf[one] = buf[times];
buf[times] = temp;
times--;
}
return buf;
}
- 洗牌算法
- 洗牌算法
- 洗牌算法
- 洗牌算法
- 洗牌算法
- 洗牌算法
- 洗牌算法
- 洗牌算法
- 洗牌算法
- 洗牌算法
- 洗牌算法
- 洗牌算法
- 洗牌算法
- 洗牌算法
- 洗牌算法
- 洗牌算法
- 洗牌算法
- 洗牌算法
- ABAP中CHECKBOX 和LISTBOX的使用(屏幕字段的控制)1
- FTP文件上传与下载(JAVA)
- android sqlite数据库增删改查
- IM-A820L第一屏与第二屏已破(非开机动画)(应该泛泰机型通用)
- C#发送邮件(添加附件)!
- 洗牌算法
- python os模块总结
- CSS浮动属性Float详解
- UITableViewCell重用机制理解
- 越过c++默认winmain/main直接进入口
- struts 1.3 核心组件(一)
- 末日的爱情
- ArrayList迭代,删除list中内容出现ConcurrentModificationException
- Linux下统计代码行数