手寫JS面試題 --- 氣泡排序
阿新 • • 發佈:2021-06-21
手寫JS面試題 --- 氣泡排序 -- 時間複雜度 n^2
題目描述:實現一個氣泡排序
實現程式碼如下:
最佳實踐應該是在函式中加上型別判斷傳入的引數是否為一個數組!
function bubbleSort(arr) { // 快取陣列長度 const len = arr.length; // 外層迴圈用於控制從頭到尾的比較 + 交換到底有多少輪 for (let i = 0; i < len; i++) { // 內層迴圈用於完成每一輪遍歷過程中的重複比較 + 交換 for (let j = 0; j < len - 1; j++) { // 若相鄰元素前面的數比後面的大 if (arr[j] > arr[j + 1]) { // 交換兩者 [arr[j], arr[j + 1]] = [arr[j + 1], arr[j]]; } } } // 返回陣列 return arr; } console.log(bubbleSort([5, 6, 1, 2, 3, 4])); // [1, 2, 3, 4, 5, 6]
請忽略下面的內容
【投稿說明】
部落格園是面向開發者的知識分享社群,不允許釋出任何推廣、廣告、政治方面的內容。
部落格園首頁(即網站首頁)只能釋出原創的、高質量的、能讓讀者從中學到東西的內容。
如果博文質量不符合首頁要求,會被工作人員移出首頁,望理解。如有疑問,請聯絡[email protected]。
【投稿說明】
部落格園是面向開發者的知識分享社群,不允許釋出任何推廣、廣告、政治方面的內容。
部落格園首頁(即網站首頁)只能釋出原創的、高質量的、能讓讀者從中學到東西的內容。
如果博文質量不符合首頁要求,會被工作人員移出首頁,望理解。如有疑問,請聯絡[email protected]。