python 实现归并排序算法
发布时间:2020-12-16 20:16:57 所属栏目:Python 来源:网络整理
导读:理论不多说: 复制代码 代码如下: #!/usr/bin/python import sys def merge(array,q,p,r): left_array = array[q:p+1] right_array = array[p+1:r+1] left_array_num = len(left_array) right_array_num = len(right_array) i,j,k= [0,q] while i left_array_
理论不多说: 复制代码 代码如下: #!/usr/bin/python import sys def merge(array,q,p,r): left_array = array[q:p+1] right_array = array[p+1:r+1] left_array_num = len(left_array) right_array_num = len(right_array) i,j,k= [0,q] while i < left_array_num and j < right_array_num: if (left_array[i] < right_array[j]): array[k] = left_array[i] i+=1 else: array[k] = right_array[j] j+=1 k+=1 while i < left_array_num: array[k] = left_array[i]; k+=1 i+=1 while j < right_array_num: array[k] = right_array[j] k+=1 j+=1 def merge_sort(array,r): if q < r: p = (q + r) / 2 merge_sort(array,p) merge_sort(array,p + 1,r) merge(array,r) if __name__ == "__main__": array = [2,45,5,7,34,456,345,89,8,1,341,4,98,67] merge_sort(array,len(array) - 1) for a in array: sys.stdout.write("%d " % a) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |