Bozosort: Sorting by Exchanging

来源:互联网 发布:现在最红网络的游戏 编辑:程序博客网 时间:2024/06/08 10:19

Java program

import java.util.Random;/** * User: >_< * Date: 11/12/15 * Time: 1:04 PM */public class BozoSort {    public static void random_swap(int[] input, int size){        Random random = new Random();        int m = random.nextInt(10000) % size;        int n = (m+1+random.nextInt(10000)%(size-1)) % size;        int temp = input[m];        input[m] = input[n];        input[n] = temp;        //Output swapped Keys        System.out.println("Swapped Ks:");        for(int j=1; j<=input.length; j++){            System.out.println(j+":"+input[j-1]);        }        System.out.println();}    public static void bozo_sort(int[] input, int size){        int i;        int flag;        while (true){            flag = 0;            for(i=0; i<size-1; i++){                if(input[i] > input[i+1]){                    flag = 1;                    break;                }            }            if(flag == 0)                break;            random_swap(input, size);        }    }    public static void main(String[] args) {        //Prepare the data        int[] number = {503,87,512,61,908,170,897,275,653,426,154,509,612,677,765,703};        //Output unsorted Keys        System.out.println("Unsorted Ks:");        for(int i=1; i<=number.length; i++){            System.out.println(i+":"+number[i-1]);        }        System.out.println();        //Kernel of the Algorithm!        bozo_sort(number, number.length);        //Output sorted Keys        System.out.println("Sorted Ks:");        for(int i=1; i<=number.length; i++){            System.out.println(i+":"+number[i-1]);        }    }}

Outputs

Unsorted Ks:1:5032:873:5124:615:9086:1707:8978:2759:65310:42611:15412:50913:61214:67715:76516:703Swapped Ks:1:5032:873:5124:615:9086:1707:4268:2759:65310:89711:15412:50913:61214:67715:76516:703Swapped Ks:1:5032:873:9084:615:5126:1707:4268:2759:65310:89711:15412:50913:61214:67715:76516:703Swapped Ks:1:5032:873:1544:615:5126:1707:4268:2759:65310:89711:90812:50913:61214:67715:76516:703......

Reference

https://en.wikipedia.org/wiki/Bogosort

0 0
原创粉丝点击