Python实现的合并两个有序数组算法示例
作者:echo6120 时间:2021-07-11 10:44:10
本文实例讲述了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程序设计有所帮助。
来源:https://blog.csdn.net/qq_30758629/article/details/80965825
标签:Python,合并,有序数组,算法


猜你喜欢
sql 常用技巧整理
2011-11-03 17:10:14
自动化收集SQLSERVER诊断信息的工具选择及使用介绍
2024-01-14 11:01:04

Python中列表、字典、元组数据结构的简单学习笔记
2022-08-08 22:19:11
php中in_array函数用法探究
2023-06-21 21:03:54
30分钟快速实现小程序语音识别功能
2024-04-28 09:46:27
RS.GETROWS使用详解
2008-01-16 13:21:00
python-pyinstaller、打包后获取路径的实例
2023-10-27 05:02:09

mysql 不能插入中文问题
2024-01-26 01:19:50
SQL SERVER 2012新增函数之逻辑函数CHOOSE详解
2024-01-15 10:04:06
Python中正则表达式的详细教程
2023-07-14 23:53:14

Python实现生成随机数据插入mysql数据库的方法
2024-01-19 09:28:42

解决MySQL5.1安装时出现Cannot create windows service for mysql.error:0
2024-01-28 09:56:13
如何利用python和DOS获取wifi密码
2021-12-15 20:10:50

JavaScript模拟实现自由落体效果
2024-05-02 16:19:47

微信跳一跳自动运行python脚本
2023-11-22 01:42:29
python+matplotlib演示电偶极子实例代码
2021-07-09 12:52:35

Python split() 函数拆分字符串将字符串转化为列的方法
2022-02-12 00:14:19
仅用500行Python代码实现一个英文解析器的教程
2022-06-15 02:15:25

使用python统计文件行数示例分享
2022-08-22 22:49:38
Pytorch pth 格式转ONNX 格式的详细过程
2021-08-29 05:15:28
