python 实现冒泡排序

来源:互联网 发布:台湾人逛淘宝的感想 编辑:程序博客网 时间:2024/06/05 00:15

那天面试被问到,时间紧,写的不太好。这边补充一下

from copy import deepcopya = [12, 321, 43, 231, 1, 23, 341, 432]times = 0i = 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 - 1print timesprint 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 lowdef 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

原创粉丝点击