JS陣列排序(冒泡 快速 插入)

2021-10-09 08:51:53 字數 1312 閱讀 5425

將陣列中的相鄰兩個元素進行比較,將比較大(較小)的數通過兩兩比較移動到陣列末尾(開始),執行一遍內層迴圈,確定乙個最大(最小)的數,外層迴圈從陣列末尾(開始)遍歷到開始(末尾)

將要排序的陣列分成兩部分,每次從後面的部分取出索引最小的元素插入到前一部分的適當位置

;在看完上面的東西之後,不知道大家有沒有發現在實際的工作中如果資料量過大,陣列比較複雜,通過兩次遍歷,同時會帶來效能上的問題,不用慌,我們還可以用快速排序的方法進行解決,快速排序對氣泡排序的一種改進

實現思路是,將乙個陣列的排序問題看成是兩個小陣列的排序問題,以乙個數為基準(中間的數),比基準小的放到左邊,比基準大的放到右邊,而每個小的陣列又可以繼續看成更小的兩個陣列,一直遞迴下去,直到陣列長度大小最大為2

function quicksort(arr)

else})

;return quicksort(left).concat(

[pivot],quicksort(right))

}

var arr=

[4,56,3,67,44,5,66]

;console.log(quicksort(arr))

;//[3, 4, 5, 44, 56, 66, 67]

js中陣列排序(冒泡 快速 插入)

將陣列中的相鄰兩個元素進行比較,將比較大 較小 的數通過兩兩比較移動到陣列末尾 開始 執行一遍內層迴圈,確定乙個最大 最小 的數,外層迴圈從陣列末尾 開始 遍歷到開始 末尾 將要排序的陣列分成兩部分,每次從後面的部分取出索引最小的元素插入到前一部分的適當位置 在看完上面的東西之後,不知道大家有沒有發...

js中陣列排序(冒泡 快速 插入)

將陣列中的相鄰兩個元素進行比較,將比較大 較小 的數通過兩兩比較移動到陣列末尾 開始 執行一遍內層迴圈,確定乙個最大 最小 的數,外層迴圈從陣列末尾 開始 遍歷到開始 末尾 將要排序的陣列分成兩部分,每次從後面的部分取出索引最小的元素插入到前一部分的適當位置 在看完上面的東西之後,不知道大家有沒有發...

js 冒泡 選擇 插入 快速排序

生成陣列 function generatearr sizi 100000 else if item 5 0 elseif set.size sizi return set 氣泡排序 相鄰兩個數比較,如果前面的數小於後面的數則互換位置 function a arr console.log k k 選...