计算机二级

给定一个关键字序列(24,19,32,43,38,6,13,22),进行快速排序,扫描一趟后的结果是?

答案解释,谢~
为什么是这样的换法?遵循的是什么原则?

一般来说以第一个数据为轴。即24
22,19,32,43,38,6,13,24 //22与24换
22,19,24,43,38,6,13,32 //24与32换
22,19,13,43,38,6,24,32 //24与13换
22,19,13,24,38,6,43,32 //24与43换
22,19,13,6,38,24,43,32 //24与6换
22,19,13,6,24,38,43,32 //24与38换,第一趟后结果

补充:
1)设置两个变量I、J,排序开始的时候:I=0,J=N-1;
2)以第一个数组元素作为关键数据(即轴),赋值给X,即 X=A[0];
3)从J开始向前搜索,即由后开始向前搜索(J=J-1),找到第一个小于X的值a[j];
4)从I开始向后搜索,即由前开始向后搜索(I=I+1),找到第一个大于X的值a[i];
5) 交换a[i]和a[j]的值;
6)重复第3、4、5步,直到 I=J; (3,4步是在程序中没找到时候j=j-1,i=i+1。找到并交换的时候i, j指针位置不变。另外当i=j这过程一定正好是i+或j+完成的最后另循环结束)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-03-25
22,19,13,6,24,38,43,32
根据快速排序的定义(课本找),取第一个元素24为依据,将小于24的排于前面,大于24的排在后面,则可得到快速排序的第一趟结果。