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

首頁 > 編程 > Python > 正文

python實現(xiàn)的各種排序算法代碼

2020-02-23 04:51:47
字體:
來源:轉載
供稿:網友

代碼如下:
# -*- coding: utf-8 -*-
# 測試各種排序算法
# link:www.jb51.net
# date:2013/2/2

#選擇排序
def select_sort(sort_array):
    for i, elem in enumerate(sort_array):
        for j, elem in enumerate(sort_array[i:]):
            if sort_array[i] > sort_array[j + i]:
                #交換
                sort_array[i], sort_array[j + i] = sort_array[j + i], sort_array[i]

#冒泡排序
def bubble_sort(sort_array):
    for i, elem in enumerate(sort_array):
        for j, elem in enumerate(sort_array[:len(sort_array) - i - 1]):
            if sort_array[j] > sort_array[j + 1]:
                sort_array[j], sort_array[j + 1] = sort_array[j + 1], sort_array[j]

#插入排序
def insert_sort(sort_array):
    for i, elem in enumerate(sort_array):
        for j, elem in enumerate(sort_array[:i]):
            if sort_array[j] > sort_array[i]:
                sort_array.insert(j, sort_array[i])
                del sort_array[i + 1]
#歸并排序
def merge_sort_wrapper(sort_array):
    merge_sort(sort_array, 0, len(sort_array) - 1)

def merge_sort(sort_array, left = 0, right = 0):
    if left < right:
        center = (left + right) / 2
        merge_sort(sort_array, left, center)
        merge_sort(sort_array, center + 1, right)
        merge(sort_array, left, right, center)

def merge(sort_array, left, right, center):
    result = []
    arrayA = sort_array[left:center + 1]
    arrayB = sort_array[center + 1:right + 1]
    while((len(arrayA) > 0) and (len(arrayB) > 0)):
        if(arrayA[0] > arrayB[0]):
            result.append(arrayB.pop(0))
        else:
            result.append(arrayA.pop(0))

    if(len(arrayA) > 0):
        result.extend(arrayA)
    if(len(arrayB) > 0):

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 平湖市| 曲阳县| 蕉岭县| 平定县| 乌拉特中旗| 济宁市| 台东市| 东港市| 通海县| 象山县| 蓬安县| 房山区| 通化县| 赣州市| 济宁市| 邹城市| 江都市| 灌云县| 喀喇沁旗| 喀喇| 潼关县| 平乐县| 满城县| 绵阳市| 湖北省| 新绛县| 永川市| 婺源县| 黎平县| 乐亭县| 获嘉县| 沙坪坝区| 西宁市| 宜川县| 泸州市| 砚山县| 嘉黎县| 汉中市| 宜春市| 崇明县| 平南县|