本节参考王道408视频以及相关参考书,如有侵权即刻删除,仅作学习交流使用。
快排对于408数据结构重要性不言而喻,如果考到排序大题,可直接放弃治疗,默写快排结束战斗,懂的都懂。
★★★★★快排代码:
pivot:枢轴元素。
pivotposition:枢轴元素位置。
partition:分割代码段,主要用于将枢轴元素位置确定,且将大于枢轴元素的关键字放到枢轴元素右边,小于枢轴元素的关键字放到枢轴元素左边。
quicksort:快排递归代码段。
//快排
void quicksort(int a[],int low,int high)
{
if (low <high)
{
int pivotposition=partition(a,low,high); //进行一次分割,得到一次划分的枢轴元素位置信息;
quicksort(a,low,pivotposition-1); //划分左子表;
quicksort(a,pivotposition+1,high); //划分右子表;
}
}
//partition函数块,确定枢轴位置,以及枢轴左右边的大小排序。
int partition(int a[],int low,int high)
{
int pivot=a[low];