Bogo Sort π©
Example in TypeScript
function bogoSort(arr: number[]): number[] {
while (!isSorted(arr)) {
shuffle(arr);
}
return arr;
}
function isSorted(arr: number[]): boolean {
for (let i = 1; i < arr.length; i++) {
if (arr[i - 1] > arr[i]) {
return false;
}
}
return true;
}
function shuffle(arr: number[]) {
for (let i = arr.length - 1; i > 0; i--) {
let j = Math.floor(Math.random() * (i + 1));
[arr[i], arr[j]] = [arr[j], arr[i]];
}
}Usage
Last updated