,都会进行两次交换操作,此时第一次大的while循环结束,进入第二次的两次交换操作
问题:获取轴值后,如何对分割得到的两个子序列进行处理?...= begin;
int j = end ;
//当退出循环时,i==j,i和j都指向当前键值所在下标位置
while (i < j)
{
while (i < j && r[i] <= r...[j])
{
j--;
}
if (i < j)
{
swap(r[i],r[j]);//交换完后,r[j]的位置存储的是键值
i++;//调整i的位置
}
while...(i=r[i])
{
i++;
}
if (i < j)
{
swap(r[i], r[j]);//交换完后,r[i]的位置存储的是键值
j--...quick_sort(r, pos + 1, end);
}
}
int main()
{
int r[10] = { 5,4,3,6,2,1,8,9,10 };
quick_sort(r,0,9);
//打印数组