Computer Science, asked by munnu3605, 1 year ago

Program to sort an array of integers in ascending order using quick sort.

Answers

Answered by homosapiens45
2

Sort an array of Integers in Ascending order using Quick Sort.


Program:

#include <iostream>

using namespace std;

void quick_sort(int[],int,int);

int partition(int[],int,int);

int main()

{

   int a[50],n,i;

   cout<<"Enter the number of elements:";

   cin>>n;

   cout<<"\nEnter array elements:";

   

   for(i=0;i<n;i++)

       cin>>a[i];

       

   quick_sort(a,0,n-1);

   cout<<"\nArray after sorting:";

   

   for(i=0;i<n;i++)

       cout<<a[i]<<" ";

   

   return 0;        

}

void quick_sort(int a[],int l,int u)

{

   int j;

   if(l<u)

   {

       j=partition(a,l,u);

       quick_sort(a,l,j-1);

       quick_sort(a,j+1,u);

   }

}

int partition(int a[],int l,int u)

{

   int v,i,j,temp;

   v=a[l];

   i=l;

   j=u+1;

   

   do

   {

       do

           i++;

           

       while(a[i]<v&&i<=u);

       

       do

           j--;

       while(v<a[j]);

       

       if(i<j)

       {

           temp=a[i];

           a[i]=a[j];

           a[j]=temp;

       }

   }while(i<j);

   

   a[l]=a[j];

   a[j]=v;

   

   return(j);

}


Output :

Enter the number of elements:5

Enter array elements: 10 4 2 5 6

Array after sorting:2 4 5 6 10

Similar questions