void quiksort(int a[], int low, int high)
{
int i = low;
int j = high;
//取个中间变量
int temp = a[i];
if (low < high)
{
while (i < j)
{
//从右往左查找比中间变量小的第一个元素
while ((a[j] >= temp) && (i < j))
{
j--;
}
a[i] = a[j];
cout << a[j] << " " << a[i];
//从左往右查找比中间变量小的第一个元素
while ((a[i] <= temp) && (i < j))
{
i++;
}
a[j] = a[i];
}
a[i] = temp;
quiksort(a, low, i - 1);
quiksort(a, j + 1, high);
}
else
{
return;
}
}
c 快速排序
最新推荐文章于 2024-04-13 20:14:23 发布