zoukankan      html  css  js  c++  java
  • 算法:两个有序数组合并成一个有序数组 java语言

    题目:有两个有序数组a[]和b[],将它们合并成数组c[],需要c[]也是有序数组。

    思路:新建一个以两个集合长度之和为长度的新数组,从两数组最左边开始比起,把小的放入新集合,并用变量标记后一位置,

      

    public class MyClass {
        public static void main(String[] args) {
            int[] num1 = new int[]{1, 2, 4, 6, 7, 123, 411, 5334, 1414141, 1314141414};
            int[] num2 = new int[]{0, 2, 5, 7, 89, 113, 5623, 6353, 134134};
            //变量用于存储两个集合应该被比较的索引(存入新集合就加一)
            int a = 0;
            int b = 0;
            int[] num3 = new int[num1.length + num2.length];
            for (int i = 0; i < num3.length; i++) {
                if (a < num1.length && b < num2.length) {   //两数组都未遍历完,相互比较后加入
                    if (num1[a] > num2[b]) {
                        num3[i] = num2[b];
                        b++;
                    } else {
                        num3[i] = num1[a];
                        a++;
                    }
                } else if (a < num1.length) {   //num2已经遍历完,无需比较,直接将剩余num1加入
                    num3[i] = num1[a];
                    a++;
                } else if (b < num2.length) {    //num1已经遍历完,无需比较,直接将剩余num2加入
                    num3[i] = num2[b];
                    b++;
                }
            }
            System.out.println("排序后:" + Arrays.toString(num3));
        }
    }
    

      

  • 相关阅读:
    Window 窗口类
    使用 Bolt 实现 GridView 表格控件
    lua的table库
    Windows编程总结之 DLL
    lua 打印 table 拷贝table
    使用 xlue 实现简单 listbox 控件
    使用 xlue 实现 tips
    extern “C”
    COleVariant如何转换为int double string cstring
    原来WIN32 API也有GetOpenFileName函数
  • 原文地址:https://www.cnblogs.com/shoshana-kong/p/14761598.html
Copyright © 2011-2022 走看看