已排序陣列的大小到小排序演算法在 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