#include<iostream>
using namespace std;
int partition(int arr[],int low,int high)
{
int pivot=arr[low];
cout<<endl;
cout<<"pivot is:"<<pivot<<endl;
cout<<"index:"<<low<<endl;
int p=low+1;
int q=high;
int temp;
do
{
while(arr[p]<=pivot)
{
p++;
}
while(arr[q]>pivot)
{
q--;
}
if(p<q)
{
temp=arr[p];
arr[p]=arr[q];
arr[q]=temp;
}
}while(p<q);
temp=arr[low];
arr[low]=arr[q];
arr[q]=temp;
return q;
}
void quicksort(int arr[],int low,int high)
{
if(low<high)
{
int par_ind;
par_ind=partition(arr,low,high);
{
quicksort(arr,low,par_ind-1);
quicksort(arr,par_ind+1,high);
}
}
}
int main()
{
int arr[]={4,5,8,3,2};
int n=5;
cout<<"\t\tBefore Sorting"<<endl;
cout<<"[";
//use loop for print element
for(int i=0;i<n;i++)
{
cout<<arr[i]<<",";
}
cout<<"]";
////////////////////////////////////
quicksort(arr,0,n-1);
cout<<endl<<endl;
//print element of array after sorting
cout<<"\t\tAfter Sorting"<<endl;
cout<<"[";
//use loop for print element
for(int i=0;i<n;i++)
{
cout<<arr[i]<<",";
}
cout<<"]";
}
No comments:
Post a Comment