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

首頁 > 編程 > Python > 正文

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

2020-02-23 00:38:50
字體:
供稿:網(wǎng)友

前兩天剛裝了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)

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 包头市| 白朗县| 庐江县| 闽侯县| 文昌市| 分宜县| 和田县| 罗江县| 大关县| 延边| 乌恰县| 鸡东县| 夏邑县| 祁连县| 门源| 资溪县| 渑池县| 城市| 临海市| 博白县| 健康| 任丘市| 商河县| 玉溪市| 盐山县| 汤原县| 徐汇区| 清镇市| 蓬溪县| 岳西县| 汶上县| 吴江市| 皮山县| 衡南县| 常山县| 奉新县| 明水县| 泰宁县| 衡阳市| 文成县| 明水县|