private static int Doublepartition(QSObj[] numArr, int low, int high) { double pivot = numArr[high].DoubleProp; int i = (low - 1); for (int j = low; j < high; j++) { if (numArr[j].DoubleProp < pivot) { i++; QSObj tempNum = numArr[i]; numArr[i] = numArr[j]; numArr[j] = tempNum; } } QSObj tempNum1 = numArr[i + 1]; numArr[i + 1] = numArr[high]; numArr[high] = tempNum1; return(i + 1); }
private static int Stringpartition(QSObj[] numArr, int low, int high) { string pivot = numArr[high].StringProp; int i = (low - 1); for (int j = low; j < high; j++) { var comparison = string.Compare(numArr[j].StringProp, pivot); if (comparison == -1) { i++; QSObj tempNum = numArr[i]; numArr[i] = numArr[j]; numArr[j] = tempNum; } } QSObj tempNum1 = numArr[i + 1]; numArr[i + 1] = numArr[high]; numArr[high] = tempNum1; return(i + 1); }