声明:
1.本代码为本人在阅读合并排序思想后,自行完成。故稳定性与效率未得到验证。
2.转载附作者Id及作品链接
def merge_sort(arr):
#递归实现
def sort(array):
#选择排序
new_array=[]
while array:
maxmum=array[0]
for i in range(len(array)):
if maxmum
maxmum=array[i]
new_array.append(maxmum)
array.remove(maxmum)
return new_array
def merge(arr_1,arr_2):
if arr_1 and arr_2:
new_arr=[]
new_arr.extend(arr_1)
new_arr.extend(arr_2)
return sort(new_arr)
else:
return arr_1.extend(arr_2)
if len(arr)>2:
middle=int(len(arr)/2)
arr_left=merge_sort(arr[:middle])
arr_right=merge_sort(arr[middle:])
#切割
return merge(arr_left,arr_right)
else:
if arr:
return sort(arr)
array=[0,1,8,8,8,3,2,10,9,7,5,6,4,0]
print(merge_sort(array))
此栏目预测共享自学之乐,共勉求知之友,共塑网站和谐好学的形象。
欢迎大家在评论区发表合理的意见和指正。
如果觉得该栏目对您有帮助,望不吝点赞收藏。