网站首页 > 精选教程 正文
数组排序算法是最常见的算法入门,其中归并排序是通过二分法加上对已排序数组进行合并来达到排序的目的。今天就来讲解下其中的合并已排序数组算法实现方式。
实现一,不断比较两个数组的最小项,将最小项添加到新数组
两个数组已经排好了序,要将其合并,并保持新的排序。那么可以通过不断比较最小项来实现。这是最标准的写法,但需要用到一个新的数组。具体步骤如下:
1、用两个数组的最小项不断进行比较,小的项就添加到新数组中去。
2、小的项已经添加到新数组后,其所在位置就往后挪一位,选取新的最小项。
3、不断遍历两个数组,直到其中一个数组项全部被添加完成为止。
4、将还没有比较完成的数组项,也就是大的数组项,依次添加到新数组中。
实现二,从一个数组中依次选取最小项插入到另外的数组
这个方法就是从一个数组中依次选择最小项,然后将该项插入到另外数组对应的位置上,类似插入排序。具体步骤如下:
1、遍历其中一个数组,从里逐个选择最小项。
2、将最小项插入到第二项的数组中去。
3、插入时自后往前逐个遍历第二项数组,将插入位置后面的项整体移动一位。
4、再将插入项放到空处的位置中。
验证
可以看到验证结果符合预期。您还有哪些方法,欢迎发表看法。谢谢!
- 上一篇: java二维数组的使用步骤
- 下一篇: 剑指offer 04:二维数组中的查找
猜你喜欢
- 2024-11-28 JAVA数据结构和算法-简单排序之选择排序
- 2024-11-28 面试官问我Arrays.sort()为什么可以对int等数组进行排序
- 2024-11-28 Java几种排序方式
- 2024-11-28 动力节点教学:多维数组用法
- 2024-11-28 「剑指offer题解」二维数组中的查找
- 2024-11-28 2021-09-26:搜索旋转排序数组。整数数组 nums 按升序排列,数组中
- 2024-11-28 java 数组动态接收和冒泡排序
- 2024-11-28 嵌入式C语言基础编程——5年程序员给你讲解字符数组,精品干货
- 2024-11-28 开发人员是如何使用Java进行排序?
- 2024-11-28 100个Java工具类之13:实现数组和集合排序的多种方法
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)