数据结构与算法从0开始炼代码(6)
本篇文章进行归并排序的编写
下面的图片介绍了归并排序的原理
在写代码方面的思路是:首先应该编写能够正确排序两个小的有序数组的函数,保证传入两个数组(均有序)能够将两个数组元素按从小到大排序输出。
第二就是归并排序函数递归中有一个难点:传入列表是一个无序的列表,那么就应该如图中右图所示,将列表拆分成一个一个的元素,然后再用排序函数将多个小的数组,两两合并成最大数组。
这里要注意递归的使用:把原数组,一直二分,分成前半段和后半段,然后递归拆分,直到剩一个元素为止。
'''_*_coding:utf-8_*_
author:zhangkai
time:2022
'''
import random
def merge_sort_position(li,left,right):
first=left
end=right
mid=(right+left)//2 #分割游标取在中间位置
rightpot=mid+1
共有 0 条评论