#define SWAP(x, y, t) {t=x; x=y; y=t;}

void
QuickSort (int _Data[], int First, int Last) {
  int i = First;
  int j = Last + 1;
  int pivot = _Data[First];
  int temp;

  if (First < Last) {
    pivot = _Data[First];
    do {
      do {
        i++;
      } while (_Data[i] < pivot);
     
      do {
        j–;
      } while (_Data[j] > pivot);

      if (i < j) {
        SWAP (_Data[i], _Data[j], temp);
      }
    } while (i<j);
   
    SWAP (_Data[First], _Data[j], temp);
    QuickSort (_Data, First, j-1);
    QuickSort (_Data, j+1, Last);
  }
}
/* QUICK SORT */

이게 그 빠르다던 Quick Sort!!