您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
这篇文章将为大家详细讲解有关js什么合并两个有序数组,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
1、新建空数组res存储最终排序后的数组。
2、比较两个有序数组的头部,年轻人出队推进res。
3、如果两个数组仍然值得,重复第二步。
实例
Array.prototype.mergeSort = function () { const rec = (arr) => { if (arr.length === 1) { return arr; } const mid = Math.floor(arr.length / 2); const left = arr.slice(0, mid); const right = arr.slice(mid, arr.length); const orderLeft = rec(left); const orderRight = rec(right); const res = []; while (orderLeft.length || orderRight.length) { if (orderLeft.length && orderRight.length) { res.push( orderLeft[0] < orderRight[0] ? orderLeft.shift() : orderRight.shift() ); } else if (orderLeft.length) { res.push(orderLeft.shift()); } else if (orderRight.length) { res.push(orderRight.shift()); } } return res; }; const res = rec(this); res.forEach((n, i) => { this[i] = n; }); }; const arr = [5, 4, 3, 2, 1]; arr.mergeSort();
关于“js什么合并两个有序数组”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。