//Quick Sort Algorithm
#include<iostream>
using namespace std;
#include<conio.h>
//Function for partitioning the array
int Partition(int low,int high,int arr[])
{
int i,high_var=high,low_var=low,pivot,temp;
pivot=arr[low];
while(low<high)
{
while(arr[low_var]<pivot)
{
low_var++;
}
while(arr[high_var]>pivot)
{
high_var--;
}
if(low_var<high_var)
{
temp=arr[low_var];
arr[low_var]=arr[high_var];
arr[high_var]=temp;
}
else
{
temp=pivot;
pivot=arr[low_var];
arr[low_var]=temp;
break;
}
}
return high_var;
}
void Quick_sort(int low,int high,int arr[])
{
int Piv_index,i;
if(low<high)
{
Piv_index=Partition(low,high,arr);
Quick_sort(low,Piv_index-1,arr);
Quick_sort(Piv_index+1,high,arr);
}
}
int main()
{
int a[100],n,low,high,i;
cout<<"Enter number of elements:";
cin>>n;
//a=new int[n];
cout<<"enter the elements:";
for(i=0;i<n;i++)
cin>>a[i];
//for(i=0;i<n;i++)
//a[i]=rand()%100;
cout<<"\nInitial Order of elements:\n";
for(i=0;i<n;i++)
{
cout<<a[i]<<"\t";
}
high=n-1;
low=0;
Quick_sort(low,high,a);
cout<<"\nFinal Array After Sorting:\n";
for(i=0;i<n;i++)
{
cout<<a[i]<<"\t";
}
_getch();
return 0;
}
#include<iostream>
using namespace std;
#include<conio.h>
//Function for partitioning the array
int Partition(int low,int high,int arr[])
{
int i,high_var=high,low_var=low,pivot,temp;
pivot=arr[low];
while(low<high)
{
while(arr[low_var]<pivot)
{
low_var++;
}
while(arr[high_var]>pivot)
{
high_var--;
}
if(low_var<high_var)
{
temp=arr[low_var];
arr[low_var]=arr[high_var];
arr[high_var]=temp;
}
else
{
temp=pivot;
pivot=arr[low_var];
arr[low_var]=temp;
break;
}
}
return high_var;
}
void Quick_sort(int low,int high,int arr[])
{
int Piv_index,i;
if(low<high)
{
Piv_index=Partition(low,high,arr);
Quick_sort(low,Piv_index-1,arr);
Quick_sort(Piv_index+1,high,arr);
}
}
int main()
{
int a[100],n,low,high,i;
cout<<"Enter number of elements:";
cin>>n;
//a=new int[n];
cout<<"enter the elements:";
for(i=0;i<n;i++)
cin>>a[i];
//for(i=0;i<n;i++)
//a[i]=rand()%100;
cout<<"\nInitial Order of elements:\n";
for(i=0;i<n;i++)
{
cout<<a[i]<<"\t";
}
high=n-1;
low=0;
Quick_sort(low,high,a);
cout<<"\nFinal Array After Sorting:\n";
for(i=0;i<n;i++)
{
cout<<a[i]<<"\t";
}
_getch();
return 0;
}
No comments:
Post a Comment