美文网首页前端是万能的
两个有序的数组重新排序成一个有序的数组

两个有序的数组重新排序成一个有序的数组

作者: 肆意木 | 来源:发表于2019-06-10 11:44 被阅读4次

题目要求:两个有序的数组重新排序成一个有序的数组,写出两种,一种用concat连接,再用sort排序;另一种要求不使用数组的方法

  1. 用 JS 的数组方法
var arr1 = [2,4,9,12,13,61,78];
var arr2 = [1,3,5,12,13,14,16];
function arrNum(a,b) {
    return a-b;
}
var arr = arr1.concat(arr2).sort(arrNum)
console.log(arr);           //[ 1, 2, 3, 4, 5, 9, 12, 12, 13, 13, 14, 16, 61, 78 ]
  1. 不用 JS 的方法
var arr1 = [2,4,9,12,13,61,78];
var arr2 = [1,3,5,12,13,14,16];
var arr3 = [];
for(var i=0,j=0;i <= arr1.length,j <= arr2.length;){
    if(arr1.length === 0){
        arr3 = arr3.concat(arr2)
        i++
    }else if(arr2.length === 0){
        arr3 = arr3.concat(arr1)
        j++
    }else {
        if(arr1[i] < arr2[j]){
            arr3.push(arr1[i])
            arr1 = arr1.slice(1)
        }else {
            arr3.push(arr2[j])
            arr2 = arr2.slice(1)
        }
    }
}
console.log(arr3)          //[ 1, 2, 3, 4, 5, 9, 12, 12, 13, 13, 14, 16, 61, 78 ]

相关文章

  • 两个有序的数组重新排序成一个有序的数组

    题目要求:两个有序的数组重新排序成一个有序的数组,写出两种,一种用concat连接,再用sort排序;另一种要求不...

  • 算法 -- 归并排序 - 草稿

    merge 归并排序原理 归并排序 == 递归 + 合并 合并 将两个有序的数组合并成一个有序的大数组;(从两个小...

  • 【初级排序算法】希尔排序

    希尔排序希尔排序的思想是使数组中任意间隔为h的元素都是有序的。这样的数组被称为h有序数组。换句话说,一个h有序数组...

  • 排序 二 归并排序

    归并操作指将两个有序的数组归并成一个更大的有序数组。要将一个数组排序,可以先(递归的)将它分成两半分别排序,然后将...

  • IOS常见算法排序(冒泡,快速,两个有序数组合并等)

    冒泡排序的实现 快速排序的实现 两个有序数组合并成一个有序数组的实现(插入排序) 持续更新中... 有不对的地方欢...

  • Swift 归并排序

    Swift 归并排序 基本原理: 对于两个有序子数组,合并成一个有序数组,是一个较为简单的事情。可以对两个子数组,...

  • iOS 归并排序

      归并排序(Merge Sort)原理:将当前数组拆分成两个子数组,一直拆分到每个数组只有一个元素再重新依次有序...

  • 插入排序和冒泡排序

    插入排序算法: 在一个有序的数组中插入一个数据,要求该数据插入后数组仍然有序。在插入排序中有序的数组就是指已经排好...

  • 数据并集,交集,差集运算

    两个有序整型数组交集 两个有序数组并集 两个有序数组的差集

  • 2.2 归并排序

    将两个有序的数组归并成一个更大的有序数组。 归并排序吸引人的性质是它能够保证将任意长度为N的数组排序所需时间和Nl...

网友评论

    本文标题:两个有序的数组重新排序成一个有序的数组

    本文链接:https://www.haomeiwen.com/subject/jugwtctx.html