作為一個程序員,你怎么能不了解冒泡算法呢?
下面向大家介紹六中排序算法,并提供javascript實現(xiàn),以及簡單分析算法復(fù)雜度。
1. 簡單排序方法
1.1 冒泡排序
總體描述:
相鄰元素進行比較,每次選取最大的元素,進行下一次比較,因此可以將最大的元素像冒泡一樣,從某一位置,到達最頂端
算法簡單描述:
假設(shè):共有n個元素
進行(n-1)次循環(huán),第i(從1開始計數(shù))次循環(huán)獲得第i大的元素,放在數(shù)組第(n-i)(數(shù)組從0開始計數(shù))位
每次循環(huán)都從第一個元素開始,比較當(dāng)前元素與其后一個元素的大小關(guān)系,如果后一個元素小于當(dāng)前元素,則說明,當(dāng)前元素較大,互換位置,即將(0~n-i區(qū)間最大的數(shù)放在n-i位),并將當(dāng)前元素指向下一個位置,直到當(dāng)前位置指向0,循環(huán)結(jié)束
完整代碼:
function bubbleSort(originArr)