国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python選擇排序、冒泡排序、合并排序代碼實例

2019-11-25 17:46:55
字體:
來源:轉載
供稿:網友

前兩天剛裝了python 3.1.1, 禁不住技癢寫點code。
1.選擇排序

復制代碼 代碼如下:

>>> def SelSort(L):
    length=len(L)
    for i in range(length-1):
        minIdx=i
        minVal=L[i]
        j=i+1
        while j<length:
            if minVal>L[j]:
                minIdx=j
                minVal=L[j]
            j=j+1
        L[i],L[minIdx]=L[minIdx],L[i]
    return L

2.冒泡排序

復制代碼 代碼如下:

>>> def bubSort(L):
    swapped=True
    while swapped:
        swapped=False
        for i in range(len(L)-1):
            if L[i]>L[i+1]:
                L[i],L[i+1]=L[i+1],L[i]
                swapped=True
    return L

3.合并排序
復制代碼 代碼如下:

>>> def merge(left,right):
    result=[]
    i,j=0,0
    while i<len(left) and j<len(right):
        if left[i]<=right[j]:
            result.append(left[i])
            i=i+1
        else:
            result.append(right[j])
            j=j+1
    result+=left[i:]
    result+=right[j:]
    return result

>>> def mergesort(L):
    if len(L) < 2:
        return L
    else:
        middle = int(len(L)/2)
        left = mergesort(L[:middle])
        right = mergesort(L[middle:])
        return merge(left, right)


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 神农架林区| 龙口市| 隆回县| 茌平县| 仪陇县| 涿鹿县| 安平县| 扶风县| 肇源县| 昌江| 东丰县| 双流县| 深水埗区| 喀喇沁旗| 泰兴市| 鹿邑县| 土默特左旗| 桂林市| 拜泉县| 武威市| 永兴县| 长海县| 黎平县| 德阳市| 大石桥市| 华安县| 邛崃市| 吉木萨尔县| 东台市| 定远县| 连城县| 元江| 屯门区| 天水市| 麻栗坡县| 兴仁县| 昌平区| 留坝县| 微山县| 临海市| 天峨县|