一.冒泡排序
概念:为一个无序的列表排成有序的
实现过程描述:(升序)
1.比较相邻的元素,如果第一个比第二个大,就交换他们的位置
2.对每一对相邻元素重复1的工作,从开始第一队到最后一对,最后结束的时候最大的数会在后面
3.针对所有元素重复1,2的工作,除了最后一个数,因为最后的数最大,省略这个过程
4.持续每次对越来越少的元素重复上面的步骤,知道没有任何一对数字需要比较
复杂度: 时间复杂度为O(n^2)
代码实现:
#给定一个列表 list = [11,54,3243,323,3,82,121,33,4,5,7,213,51] #冒泡排序 for i in range(1,len(list)): found =False #定义一个变量为False for n in range(len(list)-i): if list[n]>list[n+1]: #当出现逆序交换下表n和n+1的位置 temp = list[n] list[n] = list[n+1] list[n+1] = temp found =True #当出现逆序时,改变变量值为True 如果未发现逆序则表示排序已经完成 if not found:#当found值为False,直接跳出循环 break print(list)
未完待续