public static void QuickSort(MyFileArray arr, int left, int right) { int i = left, j = right; var pivot = arr[(left + right) / 2]; /* partition */ while (i <= j) { while (arr[i] < pivot) { i++; } while (arr[j] > pivot) { j--; } if (i <= j) { arr.Swap(i, j); i++; j--; } } /* recursion */ if (left < j) { QuickSort(arr, left, j); } if (i < right) { QuickSort(arr, i, right); } }
public static void SelectionSort(MyFileArray items) { for (int j = 0; j < items.Length - 1; j++) { int iMin = j; for (int i = j + 1; i < items.Length; i++) { if (items[i] < items[iMin]) { iMin = i; } } if (iMin != j) { items.Swap(j, iMin); } } }