从键盘接收一组不重复整数,并将这组整数按从小到大的顺序排列。
以下程序采取快速排序法对这组整数进行排序。
快速排序法的原理是:
(1)取这组数据中间那个数为锚定值mid;
(2)从这组数据开头往右找,遇到比mid大的数则停下,位置记为i;
(3)从这组数据末尾往左找,遇到比mid小的数则停下,位置记为j;
(4)如果此时i仍在j左边,即i<=j,则交换这两个数;
(5)重复(2)~(4)直到i、j重合;
(6)对i左边的数进行快速排序;
(7)对右边的数进行快速排序。
输入示例:
请输入需要排序的一组整数,数与数之间用空格隔开:6 10 11 8 4 1 9 7
输出示例:
排序结果:1 4 6 7 8 9 10 11
程序模板:
def QuickSort(left,right): if ① : return mid=Numbers[left+(right-left)//2] i=left j=right while i<j: while Numbers[i]<mid: i+=1 while Numbers[j]>mid: j-=1 if i<=j: ② QuickSort(left,j-1) QuickSort(i+1,right) Numbers=list(map(int,input("请输入需要排序的一组整数,数与数之间用空格隔开:"). ③ )) QuickSort(0, ④ ) print("排序结果:",end="") for i in Numbers: print(i,end=" ")