演算法(氣泡排序,快排,歸併排序)
氣泡排序
function mySort(arr) {
for (var i = 0; i < arr.length - 1; i++) {
for (var j = i + 1; j < arr.length; j++) {
if (arr[i] > arr[j]) {
var tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
}
return arr;
}
快速排序
function sort(arr) {
if(arr.length<=1){
return arr;
}
var middle = arr[0];
var left = [];
var right = [];
for(var i =1;i<arr.length;i++){
var value = arr[i];
if (value<middle){
left.push(value)
}else {
right.push(value)
}
}
return sort(left).concat(middle,sort(right))
}
歸併排序
function merge(left, right) {
var result = [];
while(left.length > 0 && right.length > 0) {
if(left[0] < right[0]) {
result.push(left.shift());
}
else {
result.push(right.shift());
}
}
/* 當左右陣列長度不等.將比較完後剩下的陣列項鍊接起來即可 */
return result.concat(left).concat(right);
}
function mergeSort(arr){
if(arr.length==1) {return arr};
var mid=Math.floor(arr.length/2);
var left_arr=arr.slice(0,mid),right_arr=arr.slice(mid);
return merge(mergeSort(left_arr),mergeSort(right_arr));
}
相關文章
- 氣泡排序 插入排序 快排排序
- 演算法之常見排序演算法-氣泡排序、歸併排序、快速排序演算法排序
- 氣泡排序、歸併排序與快速排序比較排序
- ForkJoin和氣泡排序組合實現的歸併排序排序
- 排序演算法--氣泡排序排序演算法
- 排序演算法__氣泡排序排序演算法
- 排序演算法–氣泡排序排序演算法
- 常見的排序演算法:冒泡、快排、歸併排序演算法
- 排序——氣泡排序排序
- Java排序演算法之氣泡排序Java排序演算法
- 氣泡排序演算法排序演算法
- 利用java實現插入排序、歸併排序、快排和堆排序Java排序
- 排序演算法 - 氣泡排序和選擇排序排序演算法
- 排序:氣泡排序&快速排序排序
- Python八大演算法的實現,插入排序、希爾排序、氣泡排序、快速排序、直接選擇排序、堆排序、歸併排序、基數排序。Python演算法排序
- 9. 氣泡排序,以及如何優化氣泡排序,氣泡排序屬於插入排序排序優化
- 排序演算法__歸併排序排序演算法
- 排序演算法:歸併排序排序演算法
- 排序演算法 - 歸併排序排序演算法
- 排序演算法(歸併排序)排序演算法
- 歸併排序--排序演算法排序演算法
- 氣泡排序排序
- 排序演算法(氣泡排序,選擇排序,插入排序,希爾排序)排序演算法
- 深入淺出的排序演算法-氣泡排序排序演算法
- 排序演算法之 '歸併排序'排序演算法
- 《演算法筆記》3. 歸併排序、隨機快排整理演算法筆記排序隨機
- 【排序演算法動畫解】排序介紹及氣泡排序排序演算法動畫
- js氣泡排序JS排序
- JavaScript氣泡排序JavaScript排序
- 氣泡排序1排序
- 氣泡排序-fusha排序
- 氣泡排序演示排序
- Shell氣泡排序排序
- d氣泡排序排序
- 容器氣泡排序排序
- 氣泡排序法排序
- 氣泡排序(Java)排序Java
- Python 氣泡排序Python排序