冒泡排序选择排序插入排序

Claire ·
更新时间:2024-09-20
· 640 次阅读

目录 冒泡排序 选择排序 插入排序 冒泡排序

冒泡排序(最好是O(n), 最坏O(n2))

原理:

拿自己与上面一个比较,如果上面一个比自己小就将自己和上面一个调换位置,依次再与上面一个比较,第一轮结束后最上面那个一定是最大的数

冒泡排序代码

def bubble_sort(blist): count = len(blist) for i in range(0, count): for j in range(i + 1, count): if blist[i] > blist[j]: blist[i], blist[j] = blist[j], blist[i] return blist blist = bubble_sort([4,5,6,7,3,2,6,9,8]) print(blist) 选择排序 先假定第一个是最小的,依次与其他数比,如果其他数中有比第一个数小就假定这个更小的最小 再比,第一轮就可以找到最小的那个放到0号位置,然后在假定1号位置数最小与剩下比较,再找到第二小的数放到第1号位置

选择排序代码

def select_sort(slist): for i in range(len(slist)): x = i for j in range(i, len(slist)): if slist[j] < slist[x]: x = j slist[i], slist[x] = slist[x], slist[i] return slist slist = select_sort([4,5,6,7,3,2,6,9,8]) 插入排序(比如码牌) 列表被分为有序区和无序区两个部分,最初有序区只有一个元素 每次从无序区选择一个元素,插入到有序区的位置,直到无序区变空

插入排序代码

def insert_sort(ilist): for i in range(len(ilist)): for j in range(i): if ilist[i] < ilist[j]: ilist.insert(j, ilist.pop(i)) break return ilist print(insert_sort(ilist=[5,2,9,6,8,4]))
作者:代码搬运小能手



选择排序 选择 冒泡排序 插入排序 排序

需要 登录 后方可回复, 如果你还没有账号请 注册新账号