网站首页 > 博客文章 正文
数组排序算法是最常见的算法入门,其中归并排序是通过二分法加上对已排序数组进行合并来达到排序的目的。今天就来讲解下其中的合并已排序数组算法实现方式。
实现一,不断比较两个数组的最小项,将最小项添加到新数组
两个数组已经排好了序,要将其合并,并保持新的排序。那么可以通过不断比较最小项来实现。这是最标准的写法,但需要用到一个新的数组。具体步骤如下:
1、用两个数组的最小项不断进行比较,小的项就添加到新数组中去。
2、小的项已经添加到新数组后,其所在位置就往后挪一位,选取新的最小项。
3、不断遍历两个数组,直到其中一个数组项全部被添加完成为止。
4、将还没有比较完成的数组项,也就是大的数组项,依次添加到新数组中。
实现二,从一个数组中依次选取最小项插入到另外的数组
这个方法就是从一个数组中依次选择最小项,然后将该项插入到另外数组对应的位置上,类似插入排序。具体步骤如下:
1、遍历其中一个数组,从里逐个选择最小项。
2、将最小项插入到第二项的数组中去。
3、插入时自后往前逐个遍历第二项数组,将插入位置后面的项整体移动一位。
4、再将插入项放到空处的位置中。
验证
可以看到验证结果符合预期。您还有哪些方法,欢迎发表看法。谢谢!
猜你喜欢
- 2024-10-27 ES6扩展运算符:详解与实践(es6扩展运算符深拷贝)
- 2024-10-27 Excel|文本花样连接,CONCATENATE、CONCAT、TEXTJOIN帮你完成
- 2024-10-27 Javascript中数组的方法(javascript 数组方法)
- 2024-10-27 LeetCode题集-4 - 寻找两个有序数组的中位数,六种解法,万字讲解
- 2024-10-27 JS中的Array对象——数组的合并、转换、迭代、排序、堆栈
- 2024-10-27 JavaScript 数组方法的介绍(javascript数组方法有哪些)
- 2024-10-27 vue数组更新后不渲染页面与$set的渊源
- 2024-10-27 vue-router的基本使用(vue- router)
- 2024-10-27 ???数组中的逆序对(归并排序思想)
- 2024-10-27 数据分析工具:Pandas架构分析(pandas数据分析模型)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)