quick_sort.c
contents ::
  quick.c
  quick_sort.s
  atquick_sort.s
  quick_sort.c
  atquick_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