public function bogoSort(arr:Array):Array
{
while (!sorted(arr))
{
shuffle(arr);
}
return arr;
}
public function shuffle(arr:Array):void
{
for (var i:int = 0; i < arr.length; i++)
{
var rand:int = Math.floor(Math.random() * arr.length);
var tmp:* = arr[i];
arr[i] = arr[rand];
arr[rand] = tmp;
}
}
public function sorted(arr:Array):Boolean
{
var last:int = arr[0];
for (var i:int = 1; i < arr.length; i++)
{
if (arr[i] < last)
{
return false;
}
last = arr[i];
}
return true;
}
C
#include<stdio.h>#include<stdlib.h>#include<stdbool.h>
bool is_sorted(int*a,int n){
while(--n >=1){
if( a[n]< a[n-1])return false;}return true;}voidshuffle(int*a,int n){
int i, t, r;for(i=0; i < n; i++){
t = a[i];
r =rand()% n;
a[i]= a[r];
a[r]= t;}}voidbogosort(int*a,int n){
while(!is_sorted(a, n))shuffle(a, n);}intmain(){
int numbers[]={
1,10,9,7,3,0};int i;bogosort(numbers,6);for(i=0; i <6; i++)printf("%d ", numbers[i]);printf("\n");}