Fully recursive bubble sort
#include<stdio.h>
int bubble_sort_pass(int bsa[], int size)
{
int swaps = 0;
if (size < 2) {
return swaps;
}
if (bsa[0] > bsa[1]) {
int temp = bsa[0];
bsa[0] = bsa[1];
bsa[1] = temp;
swaps += 1;
}
swaps += bubble_sort_pass(bsa + 1, size - 1);
return swaps;
}
void rbs(int bsa[], int size)
{
int swaps = bubble_sort_pass(bsa, size);
if (swaps >= 1) {
rbs(bsa, size);
}
}
int main()
{
printf("enter length of your array :- ");
int n;
scanf("%d",&n);
int bsa[n];
printf("Enter %d element :- ",n);
for(int i=0;i<n;i++)
{
scanf("%d",&bsa[i]);
}
rbs(bsa,n);
printf("Your Recursive bubble sort array is:- ");
for(int i=0;i<n;i++)
{
printf("%d\t",bsa[i]);
}
}
Comments
Post a Comment