Untitled

 avatar
unknown
plain_text
6 months ago
850 B
2
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