JavaScript中已排序数组的从大到小的排序算法

假设我们有一个整数数组,该数组已按升序排序。我们需要编写一个不使用内置数组的JavaScript函数。方法对数组进行排序,如下所示: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 ]