Java快速排序
2026/9/8 22:54:32 网站建设 项目流程

if (low >= high) return; // 递归边界:子序列长度为1或0时直接返回

int i = low, j = high;

L.r[0] = L.r[low]; // 用子序列的第一个元素作为枢轴(哨兵)

KeyType pivot = L.r[low].key; // 保存枢轴关键字

while (i < j) {

// 从右向左找小于枢轴的元素

while (i < j && L.r[j].key >= pivot) j--;

if (i < j) L.r[i++] = L.r[j]; // 将找到的元素放到左方

// 从左向右找大于枢轴的元素

while (i < j && L.r[i].key <= pivot) i++;

if (i < j) L.r[j--] = L.r[i]; // 将找到的元素放到右方

}

L.r[i] = L.r[0]; // 将枢轴放到最终位置

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询