Fully recursive bubble sort

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