Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

อัลกอริธึมการเรียงลำดับขนาดใหญ่ถึงเล็กของอาร์เรย์ที่จัดเรียงแล้วใน JavaScript


สมมติว่าเรามีอาร์เรย์ของจำนวนเต็มที่จัดเรียงอยู่แล้วในลำดับที่เพิ่มขึ้น เราจำเป็นต้องเขียนฟังก์ชัน JavaScript โดยไม่ต้องใช้เมธอด inbuilt Array.prototype.sort() ในการจัดเรียงอาร์เรย์ดังต่อไปนี้ -

  • ตัวเลขแรกควรสูงสุด

  • ตัวเลขที่สองควรเป็นค่าต่ำสุด

  • ตัวเลขที่สามควรเป็นจำนวนสูงสุดที่ 2

  • ตัวเลขที่สี่ควรเป็นค่าต่ำสุดที่ 2

  • เป็นต้น

ตัวอย่างเช่น −

หากอาร์เรย์อินพุตเป็น −

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 ]