From 3d5380adeb7c4b9f22e7fba7a55b78dd99fb78af Mon Sep 17 00:00:00 2001 From: vijayant Date: Sat, 19 Oct 2019 00:17:07 -0700 Subject: [PATCH] Adding bogosort and gitignore --- .gitignore | 1 + codes/bogosort.cpp | 40 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 .gitignore create mode 100644 codes/bogosort.cpp 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