![6a2b2edc6fee86a49cb259f192cabd90.png](https://img-blog.csdnimg.cn/img_convert/6a2b2edc6fee86a49cb259f192cabd90.png)
整理不易,手有余香请点赞!
C语言中自带函数库中就有快速排序——qsort函数 ,包含在 <stdlib.h> 头文件中。
原理
快速排序算法是在起泡排序的基础上进行改进的一种算法,其实现的基本思想是:通过一次排序将整个无序表分成相互独立的两部分,其中一部分中的数据都比另一部分中包含的数据的值小,然后继续沿用此方法分别对两部分进行同样的操作,直到每一个小部分不可再分,所得到的整个序列就成为了有序序列。
代码
完整实现代码
#define MAX 8
struct SortList{
int r[MAX];
int length;
}
// 将数组分成两部分,一部分小于pivotkey,一部分大于pivotkey,返回pivotkey位置
int partition(SortList* L, int low, int high){
int pivotkey = L->r[low]
while(low<high){
while(low<high && L->r[high] >= pivotkey)
--high;
L->