#方法一:递归 def bubble(lst,i): if i==1: return lst for j in range(i-1): if lst[j] > lst[j+1]: lst[j],lst[j+1]=lst[j+1],lst[j] bubble(lst, i-1) lst=[1,33,22,44,66,232,11,99] bubble(lst,len(lst)) print(lst)
#方法二:双重for循环 def bubble(lst):
for i in range(len(lst),1,-1): for j in range(i-1): if lst[j]>lst[j+1]: lst[j],lst[j+1]=lst[j+1],lst[j] return lst lst=[1,33,22,44,66,232,11,99] bubble(lst) print(lst)
#有一组“+”和“-”符号,要求将“+”排到左边,“-”排到右边,写出具体的实现方法。 def mmsort(A):
for i in range(len(A),1,-1): for j in range(i-1): if ord(A[j])>ord(A[j+1]): #ord()将符号转为ASCI码 A[j+1],A[j]=A[j],A[j+1] return A A=['-', '-', '+', '+', '+','-', '+','-', '+','-','-'] print(mmsort(A))