将两个有序数组,合并成另一个有序的数组,升序
2018-05-04 15:03
134 查看
基本思想:1) 先在a、b数组中各取第一个元素进行比较,将小的元素放入c数组;2)取小的元素所在数组的下一个元素与另一数组中上次比较后较大的元素比较,重复上述比较过程,直到某个数组被先排完;3)将另一个数组剩余元素写入c数组,合并排序完成public static void main(String[] args) {
int[] a = {1, 3, 5, 7, 9};
int[] b = {2, 4, 6, 8, 10};
int[] c = new int[10];
int ai = 0, bi = 0, ci = 0;
while (ai < a.length && bi < b.length) {
if (a[ai] < b[bi]) {
c[ci] = a[ai];
ai++;
} else {
c[ci] = b[bi];
bi++;
}
ci++;
}
while (ai < a.length) {
c[ci] = a[ai];
ai++;
ci++;
}
while (bi < b.length) {
c[ci] = b[bi];
bi++;
ci++;
}
for (int i = 0; i < c.length; i++) {
System.out.println(c[i]);
}
}
阅读更多
阅读更多
相关文章推荐
- 把两个升序数组按升序合并到另一个数组中
- 两个有序数组合并到另一个数组
- 两个有序数组(升序)合并、去重,最后得到有序数组,时间复杂度O(n)
- leetcode之数组类之数组的旋转与分治类-----OJ 189/33/81/153/154 数组旋转 旋转数组搜索 88 有序数组合并 4 两个有序数组寻找第K个元素/中位数 35 寻找插入位置
- 两个有序数组合并找第k个元素
- PHP实现合并两个有序数组的方法分析
- 两个有序数组合并成一个有序数组
- 对两个有序数组进行合并
- (LeetCode刷题)合并两个有序的链表和数组
- 线性表a、b为两个有序升序的线性表,编写一程序,使两个有序线性表合并成为一个有序升序线性表h
- 将两个无序数组合并为有序链表
- 【leetcode】合并两个有序数组
- 算法 - 合并两个有序数组成一个有序数组
- 剑指Offer_4Extra_合并两个有序数组
- 两个有序数组合并成有序数组
- 合并两个有序数组
- 两个数组合并、去重、升序
- JS编程——合并两个有序数组
- 将两个排好序的数组,合并到另外一个数组中,并且合并之后的数组也是有序的。
- 两个有序数组寻找合并之后第k大的数