原创 使用js實現鏈表的翻轉,和鏈表的合併。

鏈表翻轉,循環版: function reverseList(head) { if(!head) { return head } if(!head.next) { return

原创 使用js實現鏈表的基礎函數,如鏈表的增刪改查等。

給鏈表頭部添加一個節點: function prepend(head, value) { return { value: value, next: head } } 取出鏈表第n個節點

原创 使用js實現插入排序,並分析優化點。

原始版,無優化。 function insertSort(ary) { for(var i = 1; i< ary.length; i++) { //要排序的數 for(var j = 0; j < i; j

原创 使用js實現將數組轉爲鏈表,及將鏈表轉爲數組。

數組轉鏈表,易懂版 function array2list(ary) { if(ary.length === 0) { return null } var nodes = []

原创 使用js實現冒泡排序,並優化。

原始版,無憂化 function bubbleSort(ary) { var l = ary.length for(var i = 0; i < l; i++) { for(var j = 0; j

原创 使用js實現選擇排序。

選擇排序 function selectSort(ary) { for(var i = 0; i < ary.length - 1; i++) { var minIndex = i for(va