Python实现的合并两个有序数组算法示例


Posted in Python onMarch 04, 2019

本文实例讲述了Python实现的合并两个有序数组算法。分享给大家供大家参考,具体如下:

思路

按位循环比较两个数组,较小元素的放入新数组,下标加一(注意,较大元素对应的下标不加一),直到某一个下标超过数组长度时退出循环

假设两个源数组的长度不一样,那么假设其中短的数组用完了,即全部放入到新数组中去了,那么长数组中剩下的那一段就可以直接拿来放入到新数组中去了。

#coding=utf-8
#合并数据
test1 = [1,2,5,7,9]
test2=[2,4,6,8,10,11,34,55]
def mergetest(test1,test2):
  result =[]
  len1=len(test1)
  len2=len(test2)
  i=0
  j=0
  while i<len1 and j<len2:
    if test1[i]<=test2[j]:
      result.append(test1[i])
      i+=1
    else:
      result.append(test2[j])
      j+=1
  if i<len1:
    for z in range(i+1,len1):
      result.append(test1[z])
  elif j<len2:
    for z in range(j+1,len2):
      result.append(test2[z])
  return result
print mergetest(test1,test2)

运行结果:

[1, 2, 2, 4, 5, 6, 7, 8, 9, 11, 34, 55]

add:链表情况下合并

def merge_link(link1,link2):
  head = single_link(0)
  first = head
  while link1!=None and link2!=None:
    if l1.val<=l2.val:
      head.next =l1
      l1=l1.next
    else:
      head.next=l2
      l2=l2.next
    head=head.next
  if l1!=None:
    head.next=l1
  elif l2!=None:
    head.next=lw
  return first.next

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python函数参数*args**kwargs用法实例
Dec 04 Python
Python、Javascript中的闭包比较
Feb 04 Python
详解Python的Django框架中Manager方法的使用
Jul 21 Python
python3 模拟登录v2ex实例讲解
Jul 13 Python
Python实现的用户登录系统功能示例
Feb 05 Python
Python cookbook(数据结构与算法)将名称映射到序列元素中的方法
Mar 22 Python
ubuntu17.4下为python和python3装上pip的方法
Jun 12 Python
python pygame实现五子棋小游戏
Oct 26 Python
python2 对excel表格操作完整示例
Feb 23 Python
Python OpenCV读取中文路径图像的方法
Jul 02 Python
如何通过python实现IOU计算代码实例
Nov 02 Python
python 闭包函数详细介绍
Apr 19 Python
python创造虚拟环境方法总结
Mar 04 #Python
Python3爬楼梯算法示例
Mar 04 #Python
Python3最长回文子串算法示例
Mar 04 #Python
Python地图绘制实操详解
Mar 04 #Python
Python基于opencv实现的简单画板功能示例
Mar 04 #Python
python绘制漏斗图步骤详解
Mar 04 #Python
详解Python字典的操作
Mar 04 #Python
You might like
一些星际专用术语解释
2020/03/04 星际争霸
php 8小时时间差的解决方法小结
2009/12/22 PHP
PHP FOR MYSQL 代码生成助手(根据Mysql里的字段自动生成类文件的)
2011/07/23 PHP
php伪静态之APACHE篇
2014/06/02 PHP
php数组键值用法实例分析
2015/02/27 PHP
php使用Image Magick将PDF文件转换为JPG文件的方法
2015/04/01 PHP
PHP函数checkdnsrr用法详解(Windows平台用法)
2016/03/21 PHP
PHP性能分析工具xhprof的安装使用与注意事项
2017/12/19 PHP
基于jquery的获取mouse坐标插件的实现代码
2010/04/01 Javascript
Ajax异步提交表单数据的说明及方法实例
2013/06/22 Javascript
js的正则test,match,exec详细解析
2014/01/29 Javascript
node.js中的console.dir方法使用说明
2014/12/10 Javascript
jQuery使用before()和after()在元素前后添加内容的方法
2015/03/26 Javascript
Jquery遍历Json数据的方法
2015/04/20 Javascript
浅谈Jquery为元素绑定事件
2015/04/27 Javascript
jQuery的promise与deferred对象在异步回调中的作用
2016/05/03 Javascript
canvas绘制七巧板
2017/02/03 Javascript
Angular.JS中指令ng-if、ng-show/ng-hide和ng-switch的使用教程
2017/05/07 Javascript
vue 实现 tomato timer(蕃茄钟)实例讲解
2017/07/24 Javascript
jquery实现企业定位式导航效果
2018/01/01 jQuery
基于vue中css预加载使用sass的配置方式详解
2018/03/13 Javascript
Vue父子组建的简单通信之控制开关Switch的实现
2018/06/04 Javascript
vue中的v-if和v-show的区别详解
2019/09/01 Javascript
Openlayers实现地图全屏显示
2020/09/28 Javascript
[01:23:35]Ti4主赛事胜者组 DK vs EG 1
2014/07/19 DOTA
使用Python的Zato发送AMQP消息的教程
2015/04/16 Python
Python使用ConfigParser模块操作配置文件的方法
2018/06/29 Python
Django项目开发中cookies和session的常用操作分析
2018/07/03 Python
美国著名的品牌折扣店:Burlington
2017/06/08 全球购物
俄罗斯有趣和原创礼物网上商店:MagicMag
2019/08/01 全球购物
白酒业务员岗位职责
2013/12/27 职场文书
倡议书范文格式
2014/05/12 职场文书
民主生活会对照检查材料(统计局)
2014/09/21 职场文书
授权委托书
2015/01/28 职场文书
运动会广播稿300字
2015/08/19 职场文书
Pytorch distributed 多卡并行载入模型操作
2021/06/05 Python