合并两个排序好的数组

    /**
     * 合并两个排序好的数组
     * @param arr1
     * @param arr2
     * @param n1
     * @param n2
     * @param arr3
     */
    public static void mergeArrays(int[] arr1, int[] arr2, int n1,
                                   int n2, int[] arr3)
    {
        int i = 0, j = 0, k = 0;

        // Traverse both array
        while (i<n1 && j <n2)
        {
            // Check if current element of first
            // array is smaller than current element
            // of second array. If yes, store first
            // array element and increment first array
            // index. Otherwise do same with second array
            if (arr1[i] < arr2[j])
                arr3[k++] = arr1[i++];
            else
                arr3[k++] = arr2[j++];
        }

        // Store remaining elements of first array
        while (i < n1)
            arr3[k++] = arr1[i++];

        // Store remaining elements of second array
        while (j < n2)
            arr3[k++] = arr2[j++];
    }
发布了58 篇原创文章 · 获赞 1 · 访问量 6850

猜你喜欢

转载自blog.csdn.net/chentaishan/article/details/104028693
今日推荐