void QuickSort(SeqList R,int low,int high)
{
// 对R[low..high]快速排序
int pivotPos; // 划分后的基准记录的位置
if(low < high)
{
// 仅当区间长度大于1时才须排序
pivotPos = Partition(R,low,high); // 对R[low..high]做划分
QuickSort(R,low,pivotPos - 1); // 对左区间递归排序
QuickSort(R,pivotPos + 1,high); // 对右区间递归排序
}
} // QuickSort
void QuickSort(int[] x, int s, int t)
{
int temp;
int i = s, j = t;
if(s < t)
{
temp = x[s];
do
{
while(j > i && x[j] >= temp)
{
j--;
}
if(i < j)
{
x[i] = x[j];
i++;
}
while(i < j && x[i] <= temp)
{
i++;
}
if(i < j)
{
x[j] = x[i];
j--;
}
}while(i < j);
x[i] = temp;
QuickSort(x,s,j-1);
QuickSort(x,j+1,t);
}
}
{
// 对R[low..high]快速排序
int pivotPos; // 划分后的基准记录的位置
if(low < high)
{
// 仅当区间长度大于1时才须排序
pivotPos = Partition(R,low,high); // 对R[low..high]做划分
QuickSort(R,low,pivotPos - 1); // 对左区间递归排序
QuickSort(R,pivotPos + 1,high); // 对右区间递归排序
}
} // QuickSort
void QuickSort(int[] x, int s, int t)
{
int temp;
int i = s, j = t;
if(s < t)
{
temp = x[s];
do
{
while(j > i && x[j] >= temp)
{
j--;
}
if(i < j)
{
x[i] = x[j];
i++;
}
while(i < j && x[i] <= temp)
{
i++;
}
if(i < j)
{
x[j] = x[i];
j--;
}
}while(i < j);
x[i] = temp;
QuickSort(x,s,j-1);
QuickSort(x,j+1,t);
}
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步