【基础算法】排序-简单排序之四(Knuth洗牌算法)
2014-10-26 03:52
288 查看
基本思路:i从0~array.length-1开始遍历,r产生一个随机数,随机数的范围为0~i,然后交换i,r
代码如下
public static void shuffle(int[] array) {
Random rand = new Random();
for (int i = 0; i < array.length; i++) {
int r = rand.nextInt(i + 1);
exchange(array, i, r);
}
}
代码如下
public static void shuffle(int[] array) {
Random rand = new Random();
for (int i = 0; i < array.length; i++) {
int r = rand.nextInt(i + 1);
exchange(array, i, r);
}
}
相关文章推荐
- 【基础算法】排序-简单排序之二(选择排序)
- 基础算法之排序(2)--简单选择排序
- 基础算法学习(一)__几种排序:选择、插入、冒泡和快排
- 三种简单排序算法及其对比
- 基础算法之四--排序:之堆排序
- 转载:yangsen600的C语言实现的简单排序算法汇总
- 排序基础算法汇总-java实现
- 常见算法基础之排序
- 算法和数据结构---排序--简单选择排序
- 基础算法之四--排序:之快速排序
- 基础算法之四--排序: 之选择排序
- PHP算法学习之“简单的交换排序”,“冒泡排序”以及“改进后的冒泡排序”
- 数据结构学习笔记一:简单排序与查询算法
- Java基础部分-数组和简单算法
- 【数据结构与算法基础】单链表及其应用基数排序 / Singly Linked List and radix sort
- 基础算法之四--排序:之希尔排序
- 简单选择排序的算法实现
- 算法基础 几个常见的比较排序
- C#中定义数组和一个简单排序算法实现。
- 查找""排序""简单数学计算" "简单算法"[Java实现](数据结构和算法)(复习)(持续更新