Bogosort

Bogosort is an esoteric sorting algorithm that has an average case of $$O(n \times n!)$$, and an unbounded worst case. It is unstable, and not adaptive.

Algorithm
To Bogosort an array, check if the array is sorted. If it is sorted, terminate. Otherwise shuffle the array and repeat until the array is sorted.

Example
Take the array.

Unsorted: Shuffle it.

[6 4 1 2 3 5]

Unsorted: Shuffle it.

[1 2 6 3 5 4]

Continue until array is sorted.

[2 6 4 5 1 3] [3 4 5 2 6 1]    ... [1 2 3 4 5 6]

Sorted!

Pseudocode
procedure bogosort(array arr) do while not isSorted(arr) do shuffle(arr) end while end

Bozosort
This works by checking if the list is sorted, and if not, swaps two random elements instead. Its best, average, and worst case are $$O(n)$$, $$O(n!)$$, $$O(\infty)$$ respectively.

Bogobogosort
A recursive impractical algorithm, which calls itself with a copy of the list, not including the last element, until there is only a single element. The single element is always returned. Then, it checks if the maximal element of the returned list is greater than or equal to the last element of the current copy of the list. If not, shuffle the current copy and redo the recursive check.

Bogobogobogosort
An algorithm by EilrahcF, the algorithm works by generating a random permutation of the input list, and Bogobogosorts the array until the generated permutation matches (The algorithm may need to be modified to work in this case). In which it checks if it is sorted, and redoes the algorithm again otherwise, until it matches the permutation and is also sorted.