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 字符串中的字符倒转
Sep 06 Python
Python文本相似性计算之编辑距离详解
Nov 28 Python
windows 10下安装搭建django1.10.3和Apache2.4的方法
Apr 05 Python
TensorFlow如何实现反向传播
Feb 06 Python
Python统计一个字符串中每个字符出现了多少次的方法【字符串转换为列表再统计】
May 05 Python
python3 tkinter实现点击一个按钮跳出另一个窗口的方法
Jun 13 Python
python实现输出一个序列的所有子序列示例
Nov 18 Python
python将音频进行变速的操作方法
Apr 08 Python
python查找特定名称文件并按序号、文件名分行打印输出的方法
Apr 24 Python
Python中的__init__作用是什么
Jun 09 Python
新手学习Python2和Python3中print不同的用法
Jun 09 Python
python利用后缀表达式实现计算器功能
Feb 22 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
php 删除cookie和浏览器重定向
2009/03/16 PHP
php生成rss类用法实例
2015/04/14 PHP
关于Laravel Route重定向的一个注意点
2017/01/16 PHP
php利用ffmpeg提取视频中音频与视频画面的方法详解
2017/06/07 PHP
PHP get_html_translation_table()函数用法讲解
2019/02/16 PHP
学习YUI.Ext 第三天
2007/03/10 Javascript
jquery 插件 人性化的消息显示
2008/01/21 Javascript
jquery 学习之二 属性相关
2010/11/23 Javascript
javascript操作excel生成报表示例
2014/05/08 Javascript
javascript圆盘抽奖程序实现原理和完整代码例子
2014/06/03 Javascript
使用javascript插入样式
2016/03/14 Javascript
AngularJS中指令的四种基本形式实例分析
2016/11/22 Javascript
jQuery插件echarts实现的多柱子柱状图效果示例【附demo源码下载】
2017/03/04 Javascript
vue自定义移动端touch事件之点击、滑动、长按事件
2018/07/10 Javascript
解决Vue+Element ui开发中碰到的IE问题
2018/09/03 Javascript
vue-router源码之history类的浅析
2019/05/21 Javascript
vue实现购物车选择功能
2020/01/10 Javascript
vue 动态给每个页面添加title、关键词和描述的方法
2020/08/28 Javascript
JavaScript仿京东轮播图效果
2021/02/25 Javascript
详解C++编程中一元运算符的重载
2016/01/19 Python
Python程序员面试题 你必须提前准备!(答案及解析)
2018/01/23 Python
django-rest-framework 自定义swagger过程详解
2019/07/18 Python
Python unittest单元测试框架实现参数化
2020/04/29 Python
如何向scrapy中的spider传递参数的几种方法
2020/11/18 Python
python基于win32api实现键盘输入
2020/12/09 Python
HTML5地理定位与第三方工具百度地图的应用
2016/11/17 HTML / CSS
html5 制作地图当前定位箭头的方法示例
2020/01/10 HTML / CSS
澳大利亚在线百货商店:Real Smart
2017/08/13 全球购物
索引覆盖(Index Covering)查询含义
2012/02/18 面试题
四年级语文教学反思
2014/02/05 职场文书
预备党员综合考察材料
2014/05/31 职场文书
幼儿园八一建军节活动方案
2014/08/27 职场文书
社区母亲节活动总结
2015/02/10 职场文书
项目技术负责人岗位职责
2015/04/13 职场文书
OpenCV项目实践之停车场车位实时检测
2022/04/11 Python
如何Tomcat中使用ipv6地址
2022/05/06 Servers