73 lines
1.2 KiB
C
73 lines
1.2 KiB
C
/*
|
|
* C Program to Implement Stooge Sort
|
|
*/
|
|
#include <stdio.h>
|
|
|
|
// Function Prototype
|
|
void stoogesort(int [], int, int);
|
|
|
|
void main()
|
|
{
|
|
int b[7], i;
|
|
printf("Enter the values you want to sort using STOOGE SORT!!!:\n");
|
|
for (i = 0; i < 7; i++)
|
|
scanf(" %d", &b[i]);
|
|
stoogesort(b, 0, 6);
|
|
printf("sorted by stooge sort \n");
|
|
for (i = 0; i < 7; i++)
|
|
{
|
|
printf("%d ", b[i]);
|
|
}
|
|
printf("\n");
|
|
}
|
|
|
|
// Function to implement STOOGE SORT
|
|
void stoogesort(int a[], int i, int j)
|
|
{
|
|
int temp, k;
|
|
if (a[i] > a[j])
|
|
{
|
|
temp = a[i];
|
|
a[i] = a[j];
|
|
a[j] = temp;
|
|
}
|
|
if ((i + 1) >= j)
|
|
return;
|
|
k = (int)((j - i + 1) / 3);
|
|
stoogesort(a, i, j - k);
|
|
stoogesort(a, i + k, j);
|
|
stoogesort(a, i, j - k);
|
|
}
|
|
/*
|
|
*OUTPUT:
|
|
Enter the values you want to sort using STOOGE SORT!!!:
|
|
6
|
|
1
|
|
5
|
|
3
|
|
8
|
|
7
|
|
2
|
|
sorted by stooge sort
|
|
1 2 3 5 6 7 8
|
|
Enter the values you want to sort using STOOGE SORT!!!:
|
|
7
|
|
6
|
|
5
|
|
4
|
|
3
|
|
2
|
|
1
|
|
sorted by stooge sort
|
|
1 2 3 4 5 6 7
|
|
Enter the values you want to sort using STOOGE SORT!!!:
|
|
1
|
|
2
|
|
3
|
|
4
|
|
5
|
|
6
|
|
7
|
|
sorted by stooge sort
|
|
1 2 3 4 5 6 7
|
|
*/ |