数据结构与算法练习之Bogo排序"/>
Hark的数据结构与算法练习之Bogo排序
算法说明
Bogo排序是交换排序的一种,它是一种随机排序,也是一种没有使用意义的排序,同样也是一种我觉得很好玩的排序。
举个形象的例子,你手头有一副乱序的扑克牌,然后往天上不停的扔,那么有一定机率会变成有序的。
哈哈,就是这样。
看一下代码大家就知道了。
代码
使用的是java
package hark.sort.exchangesort;import java.util.Random;/** Bogo排序*/
public class BogoSort {public static void main(String[] args) {int[] arrayData = { 2, 4, 8, 9, 1 };BogoSortMethod(arrayData);for (int integer : arrayData) {System.out.print(integer);System.out.print(" ");}}public static void BogoSortMethod(int[] arrayData) {while (!WhetherSort(arrayData)) {Sort(arrayData);}}static Random random = new Random();static int temp,swapIndex;public static void Sort(int[] arrayData) {for (int i = 0; i < arrayData.length; i++) {swapIndex = random.nextInt(i + 1);temp = arrayData[i];arrayData[i]= arrayData[swapIndex];arrayData[swapIndex] = temp;}}public static boolean WhetherSort(int[] arrayData) {for(int i = 0;i<arrayData.length-1;i++){if(arrayData[i]> arrayData[i+1]){return false;}}return true;}
}
参考
/%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95
转载于:.html
更多推荐
Hark的数据结构与算法练习之Bogo排序
发布评论