氣泡排序是最慢的排序演算法之一,資料值會像起跑一樣從陣列的一端漂浮到另一端
var carray = function
() function swap(arr, index1, index2)
function
bubblesort
() }
}}var aa= new carray()
aa.bubblesort()
console.log(aa.datastore)複製**
從陣列的開頭開始,將第乙個元素和其他元素相比,最小的元素放在第乙個位置,再從第二個位置開始
var carray = function
() function swap(arr, index1, index2)
function
selectsort
() }
this.swap(this.datastore, outer, min)
}}var aa= new carray()
aa.selectsort()
console.log(aa.datastore)複製**
類似人們按數字或字母順序對資料進行排序,後面的要為前面的騰位置
var carray = function
() function
insertsort
() this.datastore[inner] = temp
// console.log('outer->',this.datastore)
}}var aa= new carray()
aa.insertsort()
console.log(aa.datastore)複製**
它會首先比較較遠的元素而非相鄰的元素,讓元素盡快回到正確的位置。
通過定義乙個間隔序列來表示在排序過程中進行的元素間隔。
公開的間隔序列是701,301,132,57,23,10,4,1
var carray = function
() function
shellsort
() this.datastore[j] = temp
}console.log('調換後-》', this.datastore)
}}//動態的希爾排序
function
dynamisort
() while(h>=1)
}console.log('調整後-》',this.datastore)
h = (h-1) / 3
}}function swap(arr, index1, index2)
var aa= new carray()
// aa.shellsort()
aa.dynamisort()
console.log(aa.datastore)複製**
把一系列排好序的子串行合併成為乙個大的完整有序序列
// 歸併排序
function mergesort(arr)
var middle = math.floor(len / 2)
var left = arr.slice(0, middle)
var right = arr.slice(middle)
return mergearray(mergesort(left), mergesort(right));
}//融合兩個有序陣列
function mergearray(left, right) else
} return arr.concat(left, right)
}var arr = [2,3,4,12,324,34,5,89,7654,8,9]
console.log(mergesort(arr))複製**
在列表中選擇乙個元素為基準值,排序圍繞這個基準值進行,將列表中小於基準值得放底部,大於的放頂部
// 快速排序
function qsort(list) else
} return qsort(lesser).concat(pivot, qsort(greater))
}var arr = [4,3,5,2]
console.log(qsort(arr))複製**
資料結構之排序演算法
1.插入排序 直接插入排序 include void insertsort int unsort int length unsort j temp int main void insertsort num,7 int i 0 for i i 7 i return 0 折半插入排序 include v...
資料結構之排序演算法
學過好久的東西,感覺都忘記的差不多了,雖然可能日常寫 的過程之中也可能寫過一些演算法,但是從來都沒有規整,最近忙裡偷閒,寫點關於排序的演算法,當然好多人都寫過一些很不錯的演算法blog,我寫一下,只是方便自己日後檢視,當然也給有需要的朋友一些參考,歡迎指正 排序演算法有 氣泡排序,選擇排序,插入排序...
資料結構之排序演算法
1 直接插入排序 將乙個記錄插入到已經排好序的有序表中,只有當排序結束時每個元素才能進入到正確的位置,複雜度為o n2 優點 演算法簡單 易行,當待排序記錄數量較少時,該演算法非常有效 缺點 資料規模較大時,效率比較低。演算法insertsort r,n insertsort1.插入排序 for j...