1 氣泡排序
最簡單的排序演算法之一
function sorting(arr)}}
return arr;
},
2 選擇排序
首頁從未排序序列中找到最大值或最小值,放到已排序序列的末尾或開頭,重複上述步驟,直到所有元素排序完畢
function sorting(arr)
}temp = arr[i];
arr[i] = arr[minindex];
arr[minindex] = temp;
}return arr;
},
3 插入排序
通過構建有序序列,對於末排序資料,在已排序序列中從後往前掃瞄,找到相應位置並插入(類似玩撲克牌)
function sorting(arr)
arr[preindex +1] = current;
}return arr;
},
4 希爾排序
按一定的間隔對數列進行分組,然後在每乙個分組中做插入排序;隨後逐次縮小間隔,在每乙個分組中做插入排序。。。直到間隔等於1,做一次插入排序後結束
function sorting(arr)
arr[preindex + gap] = current;
}gap = math.floor(gap/2)
}return arr;
},
5 歸併排序
採用分治法,將將已有序的子串行合併,得到完全有序的序列;即先使每個子串行有序,再使子串行段間有序。若將兩個有序表合併成乙個有序表,稱為二路歸併。
function sorting(arr)
let gap = math.floor(len / 2);
let left = arr.slice(0,gap);
let right = arr.slice(gap);
return merge(sorting(left),sorting(right));
}function merge(left, right)else if(!right.length)else if(left[0] > right[0])else
}return result;
}
6 快速排序
找到乙個基點,然後將陣列的每一項和該基點進行比對,比它大的放乙個陣列,比他小的放另外乙個陣列,然後將其連線在一起,一直重複以上步驟,直到陣列的長度為1時
function sorting(arr)
let base = arr[0];
for (let i = 1; i < len; i++)else
}return sorting(left).concat(base,sorting(right))
}
JS排序演算法
function insertsort arr endif status new date st ms return arr function shellsort arr while increment 1 status new date st ms return arr function shel...
排序演算法(JS)
自己整理一下資料結構的排序演算法,用js寫了一下,測試正確。插入排序 var table 32,26,87,72,26,17 for var i 0 i 0 temp0 alert i table 快速排序 快速排序是找出乙個元素 理論上可以隨便找乙個 作為基準 pivot 然後對陣列進行分割槽操作...
js排序演算法
常見內部排序演算法有 插入排序 希爾排序 選擇排序 氣泡排序 歸併排序 快速排序 堆排序 技術排序等 從第乙個元素開始,該元素被當成已排序 取出下乙個元素,在已排序的元素序列中從後向前掃瞄 如果該元素大於新元素,將該元素移到下一位置 重複3步驟,直到找到已排序的元素小於或者等於新元素,將新元素插入到...