云盘资源分享论坛

 找回密码
 立即注册
搜索
热搜: 书籍 电影 音乐
查看: 203|回复: 1

写个函数合并两个有序的列表。

[复制链接]

966

主题

156

回帖

4492

积分

中级会员

Rank: 3Rank: 3

UID
32013
金钱
3371
钻石
7
积分
4492
注册时间
2023-7-27
发表于 2023-8-24 09:42:54 | 显示全部楼层 |阅读模式

写个函数合并两个有序的列表。
盘基地论坛免责声明
1、本站资源来自互联网用户收集发布,仅供用于学习和交流。
2、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。
3、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决。
4、联系邮箱:admin@panjdzy.com
5、官方网址:www.panjdzy.com
6、备用网址:www.panjd.top




上一篇:实现二分查找。
下一篇:给定两个字符串,写程序高效的找出最长的公共子串。
回复

使用道具 举报

966

主题

156

回帖

4492

积分

中级会员

Rank: 3Rank: 3

UID
32013
金钱
3371
钻石
7
积分
4492
注册时间
2023-7-27
 楼主| 发表于 2023-8-24 10:20:32 | 显示全部楼层
  1. def merge_sorted_lists(list1, list2):
  2.     merged_list = []
  3.     i = j = 0

  4.     while i < len(list1) and j < len(list2):
  5.         if list1[i] <= list2[j]:
  6.             merged_list.append(list1[i])
  7.             i += 1
  8.         else:
  9.             merged_list.append(list2[j])
  10.             j += 1

  11.     while i < len(list1):
  12.         merged_list.append(list1[i])
  13.         i += 1

  14.     while j < len(list2):
  15.         merged_list.append(list2[j])
  16.         j += 1

  17.     return merged_list
复制代码

这个函数接受两个有序列表 list1 和 list2 作为输入参数,并返回一个合并后的有序列表 merged_list。合并过程中,函数会从两个输入列表中取出较小的元素放入 merged_list 中,直到其中一个列表被遍历完毕,然后将剩余的元素按顺序加入 merged_list。

你可以调用这个函数并传入两个有序列表进行测试,例如:
  1. list1 = [1, 3, 5, 7, 9]
  2. list2 = [2, 4, 6, 8, 10]
  3. merged = merge_sorted_lists(list1, list2)
  4. print(merged)
复制代码

输出结果为:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],表示成功合并两个有序列表。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|云盘资源分享论坛

GMT+8, 2025-6-25 06:55

Powered by Discuz!    联系邮箱:admin@panjdzy.com

本站资源来自互联网用户收集发布,仅供用于学习和交流。

如有侵权之处,请联系站长并出示版权证明以便删除,敬请谅解!

快速回复 返回顶部 返回列表