#coding=utf-8 #*******快速排序(递归调用)********** def func(lt=[]): if len(lt)<=1: return lt key = lt[0]#为基准点 lt_l=[]#定义列表存放小于基准点值 lt_r=[]#定义列表存放大于基准点值 lt_m=[]#定义列表存放基准点 for i in lt: if i<key: lt_l.append(i) elif i>key: lt_r.append(i) else: lt_m.append(i) lt_l=func(lt_l) lt_r=func(lt_r) return lt_l+lt_m+lt_r lt=[12, 34, 2, 5, 8, 1, 9] print (func(lt)) ########冒泡排序##### def func(lt=[]): #如果类型不为tuple和list,直接返回 if type(lt).__name__!='list' and type(lt).__name__!='tuple': return lt #如果类型为tuple,那么转化为list,因为元组不能改值 if type(lt).__name__=='tuple': lt=list(lt) #传入的list长度小于等于1,直接返回 if len(lt)<=1: return lt else: for i in range(1,len(lt)): for j in range(len(lt)-i): if lt[j]>lt[j+1]: lt[j],lt[j+1]=lt[j+1],lt[j] return lt lt=[32,12,3,27,6,9,1] tp=(2,6,1,9,4) print (func(lt)) print (func(tp))