Thursday, August 27, 2009

Quick Sort



#include<stdio.h>



#include<conio.h>




int

h;



main()



{



char ans;



do



{



int
i,n,m,a[50];



clrscr();



printf("\n\n\t\t\tQUICK
SORT\n\t\t\t*********"
);



printf("\n\n\t\t\tInput\n\t\t\t-------");



printf("\nENTER
THE NO OF ELEMENTS:"
);



scanf("%d",&n);



printf("\nENTER
THE ELEMENTS:"
);



for(i=1;i<=n;i++)



scanf("%d",&a[i]);



printf("\n\n\t\t\tOutput\n\t\t\t-------");



printf("\nGIVEN
ELEMENTS ARE :"
);



for(i=1;i<=n;i++)



printf("\t%d",a[i]);



h=n;



qsort(a,1,n);



printf("\n\nSORTED
ELEMENTS ARE :"
);



for(i=1;i<=n;i++)



printf("\t%d",a[i]);



printf("\n\n\tDO
U CONTINUE (Y/N) :"
);



scanf("%s",&ans);



}while(ans=='y' || ans =='y');



getch();



}



qsort(int a[],int l,int
n)



{



int i,j,m,t;



printf("\n");



for(i=1;i<=h;i++)



printf("%d ",a[i]);








i=l;j=n;



m=a[(l+n)/2];



while(a[i]<m)



i=i+1;



while(a[j]>m)



j=j-1;



if(i<=j)



{



t=a[i];



a[i]=a[j];



a[j]=t;



i=i+1;



j=j-1;



}



if(l<j)



qsort(a,l,j);



if(i<n)



qsort(a,i,n);



/*for(i=1;i<=h;i++)




printf("%d
",a[i]);




printf("\n"); */



}





No comments:

Post a Comment