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

首頁 > 編程 > Python > 正文

Python基礎----排序(插入、冒泡、快速、歸并)

2019-11-08 02:23:48
字體:
來源:轉載
供稿:網友
# -*- coding:UTF-8 -*-def insert_sort(origin_list):    sorted_list = []    for i in range(0, len(origin_list)):        #PRint sorted_list        if len(sorted_list) == 0:            sorted_list.append(origin_list[i])            continue        for j in range (len(sorted_list)-1, -1, -1):#開始值、結束值、步長            if sorted_list[j] <= origin_list[i]:                sorted_list.insert(j +1, origin_list[i])                break            if j == 0:                sorted_list.insert(0, origin_list[i])    origin_list[:] = sorted_list[:]origin_list = [5,3,1,7,9,8]insert_sort(origin_list)#print origin_listdef bubble_sort(origin_list):   for i in range(len(origin_list), 0, -1):        for j in range(0, i-1):            if origin_list[j] > origin_list[j+1]:                origin_list[j], origin_list[j+1] = origin_list[j+1], origin_list[j]origin_list = [5,3,1,7,9,8]bubble_sort(origin_list)#print origin_listdef quick_sort(origin_list, start, end):    if start >= end:        return    left = start    right = end    flag_index = left    while left < right:        while right > left:            if origin_list[right] < origin_list[flag_index]:                origin_list[right], origin_list[flag_index] = origin_list[flag_index], origin_list[right]                flag_index = right                break            right -= 1        while left < right:            if origin_list[left] > origin_list[flag_index]:                origin_list[left], origin_list[flag_index] = origin_list[flag_index], origin_list[left]                flag_index = left                 break            left += 1        quick_sort(origin_list, start, flag_index)        quick_sort(origin_list, flag_index+1, end)origin_list = [5,3,1,7,9,8]quick_sort(origin_list, 0, len(origin_list) -1)#print origin_listdef merge_sort(origin_list, start, end):    if end <= start:        return    mid = (start + end) / 2    merge_sort(origin_list, start, mid)    merge_sort(origin_list, mid + 1, end)    left_head = start    right_head = mid + 1    temp_list = []    while left_head <= mid and right_head <=end:        if origin_list[left_head] < origin_list[right_head]:            temp_list.append(origin_list[left_head])            left_head += 1        if origin_list[left_head] > origin_list[right_head]:            temp_list.append(origin_list[right_head])            right_head += 1    if left_head <= mid:        temp_list += origin_list[left_head:mid + 1]    if right_head <= end:        temp_list += origin_list[right_head:end + 1]    for i in range(0, len(temp_list)):        origin_list[i + start] = temp_list[i]        origin_list = [5,3,1,7,9,8]merge_sort(origin_list, 0, len(origin_list) -1)print origin_list
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 西城区| 余庆县| 正镶白旗| 东乡县| 鹤壁市| 伊吾县| 甘德县| 塔河县| 靖宇县| 安仁县| 昌吉市| 玛多县| 贵州省| 措美县| 景宁| 鸡泽县| 德安县| 云霄县| 漠河县| 寿阳县| 南投市| 祁东县| 磐安县| 铜川市| 桐庐县| 通江县| 新津县| 乌拉特中旗| 温宿县| 山丹县| 黄石市| 芒康县| 邵武市| 宁化县| 宁津县| 阿拉善右旗| 申扎县| 海南省| 马鞍山市| 邢台县| 灯塔市|