typedef int Datatype;
typedef struct
{
Datatype* elem;
int Length;
}SqList;
int Partition(SqList L, int low, int high)
{
int pivotkey = L.elem[low];
L.elem[0] = L.elem[low];
while (low < high)
{
while (low < high && L.elem[high] >= pivotkey)
--high;
L.elem[low] = L.elem[high];
while (low < high && L.elem[low] <= pivotkey)
++low;
L.elem[high] = L.elem[low];
}
L.elem[low] = L.elem[0];
return low;
}
void Qsort(SqList L, int low, int high)
{
if (low >= high)
return;
int pivotloc = Partition(L, low, high);
Qsort(L, low, pivotloc - 1);
Qsort(L, pivotloc + 1, high);
}
6-4 快速排序 分数 10
于 2023-12-14 15:49:49 首次发布