Пример #1
0
        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);
        }
Пример #2
0
        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);
        }