国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 高雄县| 紫云| 庄河市| 高密市| 罗江县| 临沧市| 江油市| 林周县| 怀仁县| 台南市| 莲花县| 兖州市| 商洛市| 库车县| 长武县| 温泉县| 沐川县| 枣庄市| 上栗县| 甘肃省| 顺平县| 长寿区| 苗栗市| 广平县| 罗山县| 琼中| 蛟河市| 秭归县| 巫溪县| 宝山区| 巴东县| 从江县| 新兴县| 开阳县| 普安县| 新绛县| 武城县| 海口市| 梨树县| 镇江市| 沙洋县|