#include<stdio.h> int partition(int a[],int b,int c); void qsort(int a[],int p,int r); int main() { int a[6],i; for(i=0;i<6;i++) { printf("a[%d]element :",i); scanf("%d",&a[i]); } qsort(a,0,5); int l; for(l=0;l<6;l++) { printf("Elements a[%d]=%d\n",l,a[l]); } return 0; } int partition(int a[],int b,int c) { int x,i,j,temp1,temp2; x= a[c]; i=b-1; for(j=b;j<5;j++) { if(a[j]<=x) { i=i+1; temp1=a[i]; a[i]=a[j]; a[j]=temp1; } } temp2=a[5]; a[5]=a[i+1]; a[i+1]=temp2; printf("Partition point is %d\n",i+1); return(i+1); } void qsort(int a[],int p,int r) { int q; if(p>=r) { return; } else { q=partition(a,p,r); qsort(a,p,q-1); qsort(a,q+1,r); } }
Showing posts with label Quick Sort. Show all posts
Subscribe to:
Posts (Atom)