js陣列氣泡排序,快速排序的原理以及實現

2021-09-09 01:36:22 字數 803 閱讀 1918

氣泡排序:

隨便從陣列中拿一位數和後一位比較,如果是想從小到大排序,那麼就把小的那一位放到前面,大的放在後面,簡單來說就是交換它們的位置,如此反覆的交換位置就可以得到排序的效果。

var arr = [3,1,4,2,5,21,6,15,63];

function

sorta(arr)}}

return

arr;

}//因為一次迴圈只能交換乙個最大的值,所以需要再套一層for迴圈。

快速排序:

從陣列的中間拿乙個值,然後通過這個值挨個和陣列裡面的值進行比較,如果大於的放一邊,小於的放一邊,然後把這些合併,再進行比較,如此反覆即可。

var arr = [3,1,4,2,5,21,6,15,63];

function

sorta(arr)

//獲取中間值的索引

var len = math.floor(arr.length/2);

//擷取中間值

var cur = arr.splice(len,1);

//小於中間值放這裡面

var left =;

//大於的放著裡面

var right =;

for(var i=0;i)

else

}//通過遞迴,上一輪比較好的陣列合併,並且再次進行比較。

return

sorta(left).concat(cur,sorta(right));

}

js 陣列排序法(氣泡排序 快速排序)

1.氣泡排序 原理 將陣列的相鄰兩個元素進行比較,大的就往後移,小的往前,依次比較並且進行遞減迭代。var arr 54,36,89,1,3,5,2 function sortarr arr return arr sortarr arr 3.快速排序法 原理 選擇乙個基準點,一般選摺為math.fl...

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

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

js氣泡排序和快速排序

氣泡排序 兩層for迴圈進行遍歷 逐個比較,大的放右邊。在這裡插入 片 氣泡排序 let arr for let i 0 i 300 i function sort2 array 用於交換素組內容的方法 function exchange arrr,x,y 為了將兩種排序的快慢進行比較,我們需要獲取...