冒泡:
#冒泡排序 def bubble_sort(lt): for i in range(len(lt)-1): #外部循环,用来表示冒泡进行的次数 for j in range(len(lt)-i-1): #内部循环,如果从下标为0的元素开始匹配,j下标一直到倒数第二个元素 if lt[j] > lt[j+1]: lt[j], lt[j+1] = lt[j+1], lt[j] #上面两行代码-如果lt列表中下标为j的值大于下标为j+1的值, #就调换位置,相当于lt[j] = lt[j+1], lt[j+1] = lt[j] print(lt) #打印列表 lt = [9, 8, 6, 4, 5, 1, 3, 10] #首先建一个列表 bubble_sort(lt) #调用函数输出经过冒泡排序后的列表
选择:
#选择排序 list1 = [12, 3, 6, 2, 5, 7, 8, 9] #首先定义一个列表 def quick_sort(list1): for i in range(len(list1)-1): #默认从0下标开始 x = i #建立一个信号量 for j in range(i+1, len(list1)):#从列表第i+1个元素开始 if list1[x] > list1[j]:#一旦匹配到小于下标为i的元素 x = j list1[i], list1[x] = list1[x], list1[i] #将元素赋值给信号量x,依次循环,遇到更小的,继续交换元素 print(list1) quick_sort(list1)
快排:
快排的复杂度分析:https://blog.csdn.net/u010429424/article/details/78068825