Computer >> Máy Tính >  >> Lập trình >> Javascript

Thuật toán sắp xếp từ lớn đến nhỏ của mảng đã được sắp xếp trong JavaScript

Giả sử chúng ta có một mảng các số nguyên đã được sắp xếp theo thứ tự tăng dần. Chúng tôi được yêu cầu viết một hàm JavaScript mà không sử dụng phương thức Array.prototype.sort () có sẵn sẽ sắp xếp mảng như sau -

  • Số đầu tiên phải là số tối đa

  • Số thứ hai phải là số tối thiểu

  • Số thứ ba phải là số tối đa thứ hai

  • Số thứ tư phải là số tối thiểu thứ 2

  • Và như vậy.

Ví dụ -

Nếu mảng đầu vào là -

const arr = [1, 2, 3, 4, 5, 6];

Sau đó, đầu ra phải là -

const output = [ 6, 1, 5, 2, 4, 3 ];

Ví dụ

Sau đây là mã -

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));

Đầu ra

Sau đây là đầu ra của bảng điều khiển -

[ 6, 1, 5, 2, 4, 3 ]