mirror of
https://github.moeyy.xyz/https://github.com/TheAlgorithms/C.git
synced 2023-10-11 15:56:24 +08:00
Added BogoSort
This commit is contained in:
parent
0b680519f1
commit
1176079781
40
BogoSort.c
Normal file
40
BogoSort.c
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stdbool.h>
|
||||||
|
|
||||||
|
bool check_sorted(int *a, int n)
|
||||||
|
{
|
||||||
|
while ( --n >= 1 ) {
|
||||||
|
if ( a[n] < a[n-1] ) return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void shuffle(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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sort(int *a, int n)
|
||||||
|
{
|
||||||
|
while ( !check_sorted(a, n) ) shuffle(a, n);
|
||||||
|
}
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
int numbers[6];
|
||||||
|
int i;
|
||||||
|
printf("Enter 6 numbers unsorted \n\n");
|
||||||
|
for(i=0;i<6;i++){
|
||||||
|
scanf("%d",&numbers[i]);
|
||||||
|
}
|
||||||
|
sort(numbers, 6);
|
||||||
|
for (i=0; i < 6; i++) printf("%d ", numbers[i]);
|
||||||
|
printf("\n");
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user