Python实现的合并两个有序数组算法示例
本文实例讲述了Python实现的合并两个有序数组算法。分享给大家供大家参考,具体如下:
思路
按位循环比较两个数组,较小元素的放入新数组,下标加一(注意,较大元素对应的下标不加一),直到某一个下标超过数组长度时退出循环
假设两个源数组的长度不一样,那么假设其中短的数组用完了,即全部放入到新数组中去了,那么长数组中剩下的那一段就可以直接拿来放入到新数组中去了。
#coding=utf-8 #合并数据 test1=[1,2,5,7,9] test2=[2,4,6,8,10,11,34,55] defmergetest(test1,test2): result=[] len1=len(test1) len2=len(test2) i=0 j=0 whilei运行结果:
[1,2,2,4,5,6,7,8,9,11,34,55]
add:链表情况下合并
defmerge_link(link1,link2): head=single_link(0) first=head whilelink1!=Noneandlink2!=None: ifl1.val<=l2.val: head.next=l1 l1=l1.next else: head.next=l2 l2=l2.next head=head.next ifl1!=None: head.next=l1 elifl2!=None: head.next=lw returnfirst.next更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python加密解密算法与技巧总结》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。