Sort)的基本思想: 通过一趟排序将待排序记录分割成独立的两部分; 其中一部分记录的关键字均为另一部分记录的关键字小,则可分别对两部分记录继续进行排序, 以达到整个排序有序的目的;
值得注意的地方是,使用快速排序后会让源数据的数据位置发生变化...设计一个smallestK 函数思路:
判断当前的数组是否为空/数组长度是否小于0,以及查找的k数是否小于0,返回的size是否赋予了对应的地址空间;
low = 0, hight = arrSize...这段代码的核心就是求解枢轴;pivot = Partition(L,low,high). 在执行之前,L.r数组值为{50,10,90,30,70,40,80,60,20}
?...Partition 函数要做的,就先选取当中一个关键字,比如选择第一个关键字50,然把它放在一个位置上,使得它左边的值都比它小, 右边的值都比它大,我将这样的关键字称为枢轴(pivot);
?...这个函数的作用是:
Partition2 函数的功能
选取当中一个关键字作为枢轴;
将它放在一个合适的位置上, 使得它的左边的值都比它小, 右边的值都比它大;
1.4 Partition 函数的实现与分析