1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
   | static void QuickSort(int[] data, int left, int right) {     if(left > right)         return;     int i = left;     int j = right;     int mark = data[left];     while (i != j)     {         while (data[j] >= mark && i < j)             j--;         while (data[i] <= mark && i < j)             i++;         if (i < j)         {             int temp = data[i];             data[i] = data[j];             data[j] = temp;         }     }     data[left] = data[i];     data[i] = mark;     QuickSort(data, left, i - 1);     QuickSort(data, i + 1, right);
  }
   |