那天面试被问到,时间紧,写的不太好。这边补充一下
from copy import deepcopy a = [12, 321, 43, 231, 1, 23, 341, 432] times = 0 i = len(a) for m in range(i - 1): for j in range(i - 1): if a[j] < a[j + 1]: a[j], a[j + 1] = a[j + 1], a[j] times = times + 1 i = i - 1 print times print a结果为:28 [432, 341, 321, 231, 43, 23, 12, 1]另附上快速排序(转载)def sub_sort(array,low,high): key = array[low] while low < high: while low < high and array[high] >= key: high -= 1 while low < high and array[high] < key: array[low] = array[high] low += 1 array[high] = array[low] array[low] = key return low def quick_sort(array,low,high): if low < high: key_index = sub_sort(array,low,high) quick_sort(array,low,key_index) quick_sort(array,key_index+1,high) if __name__ == '__main__': array = [8,10,9,6,4,16,5,13,26,18,2,45,34,23,1,7,3] print array quick_sort(array,0,len(array)-1) print array