已排序数组的大小到小排序算法在 JavaScript 中
假设我们有一个已经按升序排列的整数数组。我们需要编写一个 JavaScript 函数,在不使用内置 Array.prototype.sort() 方法的情况下按如下方式对数组进行排序 −
第一个数字应该是最大的数字
第二个数字应该是最小的数字
第三个数字应该是第二大的数字
第四个数字应该是第二小的数字
以此类推。
例如 −
如果输入数组为 −
const arr = [1, 2, 3, 4, 5, 6];
那么输出应为 −
const output = [ 6, 1, 5, 2, 4, 3 ];
范例
以下是代码 −
const arr = [1, 2, 3, 4, 5, 6];
const alternativeSort = (arr = []) => {
const res = [];
let left = 0;
let right = arr.length - 1;
while (res.length < arr.length) {
res.push(arr[right]);
if (left !== right) {
res.push(arr[left]);
}
left++;
right--;
};
return res;
};
console.log(alternativeSort(arr));输出
以下是控制台输出 −
[ 6, 1, 5, 2, 4, 3 ]
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP