Java bogosort

Java bogosort

Bogo sort (also known as permutation sort, slow sort, or stupid sort) is a sorting algorithm that is based on the idea of generating and testing random permutations of the input until a valid sorted permutation is found. It is a highly inefficient algorithm that is not suitable for sorting large data sets, but it can be used as a humorous example of an inefficient algorithm.

To implement Bogo sort in Java, you can use a function that takes an array of integers as input and returns a sorted version of the array. The function should generate random permutations of the array until a valid sorted permutation is found.

Here is an example of how to implement Bogo sort in Java:

import java.util.Arrays;
import java.util.Random;

public class BogoSort {

    public static int[] sort(int[] array) {
        Random random = new Random();
        while (!isSorted(array)) {
            shuffle(array, random);
        }
        return array;
    }

    private static void shuffle(int[] array, Random random) {
        for (int i = 0; i < array.length; i++) {
            int j = random.nextInt(array.length);
            int temp = array[i];
            array[i] = array[j];
            array[j] = temp;
        }
    }

    private static boolean isSorted(int[] array) {
        for (int i = 1; i < array.length; i++) {
            if (array[i] < array[i - 1]) {
                return false;
            }
        }
        return true;
    }

    public static void main(String[] args) {
        int[] array = {5, 2, 4, 1, 3};
        array = sort(array);
        System.out.println(Arrays.toString(array)); // prints "[1, 2, 3, 4, 5]"
    }
}
Source:w‮al.ww‬utturi.com

In this example, the sort() method is a function that implements the Bogo sort algorithm. It generates random permutations of the array until a valid sorted permutation is found. The shuffle() method is a helper function that shuffles the elements of the array using the Fisher-Yates shuffle algorithm. The isSorted() method is a helper function that checks if the array is sorted in ascending order.

To run the example, create a new Java class and copy the code into it. Run the class using the java command. The output should be:

[1, 2, 3, 4, 5]

Note that Bogo sort is a highly inefficient algorithm.

Created Time:2017-11-03 00:14:41  Author:lautturi