JS演算法 關於氣泡排序和快排

2021-10-24 16:38:16 字數 1230 閱讀 3377

比較所有相鄰元素,如果第乙個比第二個大,則交換它們。執行n-1輪,則完成排序。

array.prototype.

bubblesort

=function()

// console.log(this);

} console.

log(

this);

}}const arr =[25

,84,21

,47,15

,27,68

,35,20

];arr.

bubblesort()

;

定基準:從陣列中任意選擇乙個基準(可以是第乙個元素);

分割槽:所有比基準小的元素放在基準前面,比基準大的元素放在基準後面,形成左右兩個分割槽;

遞迴:遞迴地對基準前後的陣列進行分割槽。

array.prototype.

quicksort

=function

(arr)

const left =

;const right =

;const mid = arr[0]

;for

(let i =

1; i < arr.length; i++

)else

}return

[...

res(left)

, mid,

...res

(right)]}

console.

log(

this);

const result =

res(

this);

console.

log(result)

; result.

foreach

((item, i)

=>

) console.

log(

this);

}const arr =[25

,84,21

,47,15

,27,68

,35,20

];arr.

quicksort()

;

演算法的動畫效果可以在此處**:visualgo.net

JS實現氣泡排序和快排

冒泡的核心思想 每一輪確定乙個最大的數放到最右邊。就是雙重for迴圈遍歷,進行兩兩比較。核心思想 每一輪比較,把乙個數歸位 function bubblesort arr,arrlength 注意 外層迴圈的條件 i arrlength 1.這個裡面沒有 因為,最後乙個數不需要再迴圈確定位置,其他數...

排序演算法(快排,冒泡)

排序目的 快速查詢 排序演算法優劣的判斷條件 1.時間複雜度 2.空間複雜度 3.穩定性 關鍵字值相等的數字們,排完序之後順序不變 十大排序演算法 需要掌握的的 氣泡排序 快速排序 希爾排序 折半插入排序 堆排序 氣泡排序 依次比較第i個數與第i 1個數的大小,如果符合條件則不變,如果不符合條件,兩...

排序演算法二氣泡排序和快排

氣泡排序想必大家都非常熟悉了,這裡就直接貼 了 void bubblesort int array,int len if flag 1 break 時間複雜度為o n n 最好的情況下 優化後正序有序為o n 穩定的演算法。沒有優化的與原始序列的狀態無關,優化後與原始序列的狀態有關 paration...