// 排序從小到大
let a = [5,3,12,16,2,35,4]
a.foreach((i,index) =>
})});
console.log(a);
// 輸出 [2, 3, 4, 5, 12, 16, 35]
// 從大到小
a.foreach((i,index) =>
});});console.log(a);
// 輸出[35, 16, 12, 5, 4, 3, 2]
思路:已 5,3,12,16,2,35,4 為例 第乙個和第二個比較 如果第乙個大於二個 那麼交換位置 然後第乙個在和第三個比較 以此類推比較。 一輪下來最小的就會排在最前頭。第二輪在那第二個和第三個比較....。第二輪就會把第二小的排在第二位...(index1 > index 判斷了只會和下乙個進行比較)
第一種
const list = [,,,
,,,]
const listtree =
recursion = (arr,data) =>
})}list.foreach((json,i) =>
})
第二種
const list = [,,,
,,,]
recursion = (arr, pid)=>
} });
return list1;
}const listtree = recursion(list)
// 合計次數並通過出現的次數排序
let a = [5,3,12,16,2,35,4,5,6,3,4,6,7,8,6,3,4,5,6,7,9,1,2,4,5,8,3,4,6,7,8,5,4,3,2,9];
// 作為出現的次數json組,格式[.......]
const list = ;
//先計算出每個數字出現的次數
a.foreach((number) =>
});if (on) ;
list.push(json);
}});
console.log(list);
// 根據frequency進行正序排序
list.foreach((json,index) =>
})});
console.log(list);
// 根據frequency進行倒敘序排序
list.foreach((json,index) =>
})});
console.log(list);
演算法小討論
舉例說 假設你們班級有30個人,假設按照成績高低已經把試卷排列好了,你想找出數學成績在75分的人。第一種辦法,就是簡單的順次查詢,找到就退出。複雜度o n 第二種辦法,把試卷分兩羅,大概在中間那張如果小於75分,就把上邊的再分兩羅再執行上邊步驟,按照這個辦法找到為止。每次輸入範圍是上次的一半,遞迴,...
演算法小技巧
bool pdn int x if num x return true else return false 1.普通方法 o sqrt n bool isprime int x 2.線性篩 o n 適用於範圍不是特別大,查詢次數多的 const int maxn 1e6 6 int flag max...
演算法小練習
連續輸入字串,請按長度為8拆分每個字串後輸出到新的字串陣列 長度不是8整數倍的字串請在後面補數字0,空字串不處理。解題思路 迴圈從鍵盤輸入,對於每個字串首先判斷長度是否大於8,如果是大於8的,計算是8的幾倍,以8個切片放到乙個陣列。再看下是否有餘數,因為餘數要用0補齊8位,放到陣列。如果字串的長度小...