diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f47cb20 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.out diff --git a/codes/bogosort.cpp b/codes/bogosort.cpp new file mode 100644 index 0000000..bcdcbaa --- /dev/null +++ b/codes/bogosort.cpp @@ -0,0 +1,40 @@ +#include +using namespace std; + +bool isSorted(int a[], int n) +{ + while ( --n > 1 ) + if (a[n] < a[n-1]) + return false; + + return true; +} + +void shuffle(int a[], int n) +{ + for (int i=0; i < n; i++) + swap(a[i], a[rand()%n]); +} + +void bogosort(int a[], int n) +{ + while ( !isSorted(a, n) ) + shuffle(a, n); +} + +void printArray(int a[], int n) +{ + for (int i=0; i