复习一下简单的排序算法之 快速排序

void sortPart(int *srcArray, int length,int start, int end)

{

    NSLog(@”enter function”);

    if (length <2) {

        return;

    }

    

    if (end > length –1 || start < 0) {

        return;

    }//边界判断

    

    

    if (start >= end) {

        return;

    }//边界判断

    

    int middleValue = srcArray[start];

    int j = end;

    int i = start;

    

    

    while (j != i) {

        

        while (srcArray[j] > middleValue) {

            if (j > i) {

                –j;

            }else {

                break;

            }

        }

        srcArray[i] = srcArray[j];

        

        while (srcArray[i] < middleValue) {

            if ( i < j) {

                ++i;

            }else {

                break;

            }

        }

        srcArray[j] =  srcArray[i];

    }

    

    srcArray[i] = middleValue;

    

    sortPart(srcArray, length, start, i-1);

    sortPart(srcArray, length, i+1, end);

    

}

点赞