/* Quick Sort Algorithm
Created By: Pirate
*/
#include<stdio.h>
#include<stdio.h>
#include<conio.h>
int a[100];
void quick_sort(int
a[],int p,int r);
int partition(int a[],int
p,int r);
void main()
{
int size,i;
clrscr();
printf("** QUICK SORT **\n");
printf("Enter the no of element of array\n");
scanf("%d",&size);
printf("\nEnter %d elements\n",size);
for(i=0;i<size;i++)
{
scanf("%d",&a[i]);
}
quick_sort(a,0,size-1);
printf("**********************************\n");
printf("After Sorting\n");
for(i=0;i<size;i++)
{
printf("%d\t",a[i]);
}
getch();
}
void quick_sort(int
a[],int p,int r)
{
int q;
if(p<r)
{
q=partition(a,p,r);
quick_sort(a,p,q-1);
quick_sort(a,q+1,r);
}
}
int partition(int a[],int
p,int r)
{
int x,i,j,t;
x=a[r];
i=p-1;
for(j=p;j<=r-1;j++)
{
if(a[j]<=x)
{
i=i+1;
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
t=a[i+1];
a[i+1]=a[r];
a[r]=t;
return i+1;
}Output
0 comments:
Post a Comment