Name | Best-case | Average-case | Worst-case | Memory | Stable |
---|---|---|---|---|---|
BogoSort | n | (n × n!) | ∞ | 1 | no |
public void bogoSort(int[] array) { while (!isSorted(array)) { shuffle (array); } } public boolean isSorted(int[] array) { for (int i = 0; i < array.length - 1; i++) { if (array[ i ] > array[ i + 1 ]) return false; } return true; } public void shuffle(int[] array) { for (int i = array.length - 1; i > 0; i--) { swapKeys ( array , i , (int) (Math.random() * (i + 1)) ); } } public void swapKeys(int[] array, int i, int j) { int temp; temp = array[ i ]; array[ i ] = array[ j ]; array[ j ] = temp; }
Use the textfield to type in a number and add it by either pressing ENTER or by clicking on the "Add" button.
You can also add 1 random number by clicking on the "1 Random Key" button. Overall you can add up to 5 keys.
The "Sort" button starts to sort the keys with the selected algorithm. Alternatively you can sort 8 random keys fast for a quick impression of how the algorithm works.