quick_sort.c |
| void quicksort(int *a, int lo, int hi){ if( hi > lo ) { int left, right, median, temp; left=lo; right=hi; median=a[(lo+hi)/2]; while(right >= left){ while(a[left] < median) left++; while(a[right] > median) right--; if(left > right) break; temp=a[left]; a[left]=a[right]; a[right]=temp; //swap left++; right--; } quicksort(a, lo, right);// divide and conquer quicksort(a, left, hi); } }/*quicksort*/ |
James Little |