Python 数据结构与算法——冒泡排序

#方法一:递归
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))

 

posted on 2017-12-15 17:38  改改哥  阅读(214)  评论(0编辑  收藏  举报