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实现web端用户登录和注册功能的教程
Apr 30 Python
用Python的Django框架来制作一个RSS阅读器
Jul 22 Python
Python基于list的append和pop方法实现堆栈与队列功能示例
Jul 24 Python
Python探索之实现一个简单的HTTP服务器
Oct 28 Python
LRUCache的实现原理及利用python实现的方法
Nov 21 Python
python处理数据,存进hive表的方法
Jul 04 Python
Python利用递归实现文件的复制方法
Oct 27 Python
pytorch 输出中间层特征的实例
Aug 17 Python
Python使用scipy模块实现一维卷积运算示例
Sep 05 Python
在keras中model.fit_generator()和model.fit()的区别说明
Jun 17 Python
使用Python制作一个数据预处理小工具(多种操作一键完成)
Feb 07 Python
Python代码实现双链表
May 25 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
mac下Apache + MySql + PHP搭建网站开发环境
2014/06/02 PHP
thinkphp5框架结合mysql实现微信登录和自定义分享链接与图文功能示例
2019/08/13 PHP
转自Jquery官方 jQuery1.1.3发布,速度提升800%,体积保持20K
2007/08/19 Javascript
JavaScript 面向对象的之私有成员和公开成员
2010/05/04 Javascript
js控制滚动条缓慢滚动到顶部实现代码
2013/03/20 Javascript
js用拖动滑块来控制图片大小的方法
2015/02/27 Javascript
chrome下判断点击input上标签还是其余标签的实现方法
2016/09/18 Javascript
JavaScript实现定时页面跳转功能示例
2017/02/14 Javascript
Js自动截取字符串长度,添加省略号(……)的实现方法
2017/03/06 Javascript
jQuery日程管理控件glDatePicker用法详解
2017/03/29 jQuery
MUI顶部选项卡的用法(tab-top-webview-main)详解
2017/10/08 Javascript
基于javascript 显式转换与隐式转换(详解)
2017/12/15 Javascript
浅谈Node.js爬虫之网页请求模块
2018/01/11 Javascript
jQuery实现模糊查询的方法分析
2018/05/10 jQuery
Vue源码探究之虚拟节点的实现
2019/04/17 Javascript
Node.js如何优雅的封装一个实用函数的npm包的方法
2019/04/29 Javascript
vue增加强缓存和版本号的实现方法
2019/05/01 Javascript
[01:04:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第二场 1月31日
2021/03/11 DOTA
[03:02]2020完美世界城市挑战赛(秋季赛)总决赛回顾
2021/03/11 DOTA
解析Python中的异常处理
2015/04/28 Python
Python中tell()方法的使用详解
2015/05/24 Python
Pthon批量处理将pdb文件生成dssp文件
2015/06/21 Python
Python数据类型详解(一)字符串
2016/05/08 Python
python实现自动获取IP并发送到邮箱
2018/12/26 Python
使用pandas把某一列的字符值转换为数字的实例
2019/01/29 Python
Django 解决distinct无法去除重复数据的问题
2020/05/20 Python
Python实现我的世界小游戏源代码
2021/03/02 Python
SHEIN香港:价格实惠的女性时尚服装
2018/08/14 全球购物
Timberland法国官网:购买靴子、鞋子、衣服、夹克和配饰
2019/11/30 全球购物
自动一体化专业求职信
2014/03/15 职场文书
《三亚落日》教学反思
2014/04/26 职场文书
离婚协议书怎么写2014
2014/09/30 职场文书
沂蒙六姐妹观后感
2015/06/08 职场文书
导游词之永泰公主墓
2019/12/04 职场文书
java调用Restful接口的三种方法
2021/08/23 Java/Android
python使用shell脚本创建kafka连接器
2022/04/29 Python