01.设一组初始关键字记录关键字为(20,15,14,18,21,36,40,10),则以20为基准记录的一趟快速排序结束后的结果为( )。
解析:
20,15,14,18,21,36,40,10
从两头往中间搜索,右边找小,左边找大,右边先走
第一步:右边找到了10,左边找到了20,交换
第二步:在上面的位置上,右边继续向前,遇到了上一步的10,左右相遇,所以10的位置就是20的基准位,结束快速排序详见
http://developer.51cto.com/art/201403/430986.htm
1)设置两个变量i、j,排序开始的时候:i=0,j=7;
2)以20作为关键数据,赋值给key,即key=20;
3)从7开始向前搜索,即由后开始向前搜索(j--),找到第一个小于key的值10,将10和20互换;{10,15,14,18,21,36ÿ