Untitled
unknown
plain_text
a year ago
850 B
4
Indexable
#include<stdio.h>
void main()
{
int a[10],high,low,i,j,n;
printf("How many elements: ");
scanf("%d",&n);
printf("\nEnter the elements:\n");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
low=0;
high=n-1;
quicksort(a,low,high);
printf("\nThe sorted elements:\n");
for(i=0;i<n;i++)
{
printf("\n %d",a[i]);
}
}
quicksort(int a[],int low,int high)
{
int keypos;
if(low >high)
return (0);
keypos=partition(a,low,high);
quicksort(a,low,keypos-1);
quicksort(a,keypos+1,high);
}
partition(int a[],int low,int high)
{
int i,j,key,temp,flag;
key=a[low];
i=low+1;
j=high;
while(flag==1)
{
while((a[i]<key)&&(i<j))
i=i+1;
while(a[j]>key)
j=j-1;
if(i<j)
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
else
flag=0;
}
temp=a[low];
a[low]=a[j];
a[j]=temp;
return(j);
flag=1;Editor is loading...
Leave a Comment