// Java Program to implement BogoSort
public class BogoSort
{
// Sorts array a[0..n-1] using Bogo sort
void bogoSort( int [ ] a)
{
// if array is not sorted then shuffle the
// array again
while ( isSorted( a) == false )
shuffle( a) ;
}
// To generate permuatation of the array
void shuffle( int [ ] a)
{
// Math.random() returns a double positive
// value, greater than or equal to 0.0 and
// less than 1.0.
for ( int i= 1 ; i <= n; i++ )
swap
( a, i,
( int ) ( Math .
random ( ) * i
) ) ; }
// Swapping 2 elements
void swap( int [ ] a, int i, int j)
{
int temp = a[ i] ;
a[ i] = a[ j] ;
a[ j] = temp;
}
// To check if array is sorted or not
boolean isSorted( int [ ] a)
{
for ( int i= 1 ; i< a.length ; i++ )
if ( a[ i] < a[ i- 1 ] )
return false ;
return true ;
}
// Prints the array
void printArray( int [ ] arr)
{
for ( int i= 0 ; i< arr.length ; i++ )
System .
out .
print ( arr
[ i
] + " " ) ; }
public static void main
( String [ ] args
) {
//Enter array to be sorted here
int [ ] a = { 3 , 2 , 5 , 1 , 0 , 4 } ;
BogoSort ob = new BogoSort( ) ;
ob.bogoSort ( a) ;
System .
out .
print ( "Sorted array: " ) ; ob.printArray ( a) ;
}
}
Ly8gSmF2YSBQcm9ncmFtIHRvIGltcGxlbWVudCBCb2dvU29ydCAKcHVibGljIGNsYXNzIEJvZ29Tb3J0IAp7IAogICAgLy8gU29ydHMgYXJyYXkgYVswLi5uLTFdIHVzaW5nIEJvZ28gc29ydCAKICAgIHZvaWQgYm9nb1NvcnQoaW50W10gYSkgCiAgICB7IAogICAgICAgIC8vIGlmIGFycmF5IGlzIG5vdCBzb3J0ZWQgdGhlbiBzaHVmZmxlIHRoZSAKICAgICAgICAvLyBhcnJheSBhZ2FpbiAKICAgICAgICB3aGlsZSAoaXNTb3J0ZWQoYSkgPT0gZmFsc2UpIAogICAgICAgICAgICBzaHVmZmxlKGEpOyAKICAgIH0gCiAgCiAgICAvLyBUbyBnZW5lcmF0ZSBwZXJtdWF0YXRpb24gb2YgdGhlIGFycmF5IAogICAgdm9pZCBzaHVmZmxlKGludFtdIGEpIAogICAgeyAKICAgICAgICAgLy8gTWF0aC5yYW5kb20oKSByZXR1cm5zIGEgZG91YmxlIHBvc2l0aXZlIAogICAgICAgICAvLyB2YWx1ZSwgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDAuMCBhbmQgCiAgICAgICAgIC8vIGxlc3MgdGhhbiAxLjAuIAogICAgICAgICBmb3IgKGludCBpPTE7IGkgPD0gbjsgaSsrKSAKICAgICAgICAgICAgIHN3YXAoYSwgaSwgKGludCkoTWF0aC5yYW5kb20oKSppKSk7IAogICAgfSAKICAKICAgIC8vIFN3YXBwaW5nIDIgZWxlbWVudHMgCiAgICB2b2lkIHN3YXAoaW50W10gYSwgaW50IGksIGludCBqKSAKICAgIHsgCiAgICAgICAgaW50IHRlbXAgPSBhW2ldOyAKICAgICAgICBhW2ldID0gYVtqXTsgCiAgICAgICAgYVtqXSA9IHRlbXA7IAogICAgfSAKICAKICAgIC8vIFRvIGNoZWNrIGlmIGFycmF5IGlzIHNvcnRlZCBvciBub3QgCiAgICBib29sZWFuIGlzU29ydGVkKGludFtdIGEpIAogICAgeyAKICAgICAgICBmb3IgKGludCBpPTE7IGk8YS5sZW5ndGg7IGkrKykgCiAgICAgICAgICAgIGlmIChhW2ldIDwgYVtpLTFdKSAKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsgCiAgICAgICAgcmV0dXJuIHRydWU7IAogICAgfSAKICAKICAgIC8vIFByaW50cyB0aGUgYXJyYXkgCiAgICB2b2lkIHByaW50QXJyYXkoaW50W10gYXJyKSAKICAgIHsgCiAgICAgICAgZm9yIChpbnQgaT0wOyBpPGFyci5sZW5ndGg7IGkrKykgCiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnQoYXJyW2ldICsgIiAiKTsgCiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCk7IAogICAgfSAKICAKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIAogICAgeyAKICAgICAgICAvL0VudGVyIGFycmF5IHRvIGJlIHNvcnRlZCBoZXJlIAogICAgICAgIGludFtdIGEgPSB7MywgMiwgNSwgMSwgMCwgNH07IAogICAgICAgIEJvZ29Tb3J0IG9iID0gbmV3IEJvZ29Tb3J0KCk7IAogIAogICAgICAgIG9iLmJvZ29Tb3J0KGEpOyAKICAKICAgICAgICBTeXN0ZW0ub3V0LnByaW50KCJTb3J0ZWQgYXJyYXk6ICIpOyAKICAgICAgICBvYi5wcmludEFycmF5KGEpOyAKICAgIH0gCn0g
compilation info
Main.java:2: error: class BogoSort is public, should be declared in a file named BogoSort.java
public class BogoSort
^
Main.java:19: error: cannot find symbol
for (int i=1; i <= n; i++)
^
symbol: variable n
location: class BogoSort
2 errors
stdout