#include int a[10]={6,2,8,10,5,1,7,3,4,9}; int partition(int l, int u) { int p=a[l], i=l-1, j=u+1,t; while (1) { do i++; while (a[i] < p); do j--; while (a[j] > p); if (i < j) { t=a[i]; a[i]=a[j]; a[j]=t; } else return j; } } void quicksort(int l, int u) { int pivot; if (l < u) { pivot=partition(l,u); quicksort(l,pivot-1); quicksort(pivot+1,u); } } void main() { int i,j; clrscr(); printf("original order --> \n"); for (i=0; i<10; i++) printf("%2d ",a[i]); printf("\n"); quicksort(0,9); printf("sorted order --> \n"); for (i=0; i<10; i++) printf("%2d ",a[i]); printf("\n"); }