javascript排序 查詢演算法大全

2021-06-18 16:05:02 字數 1530 閱讀 6673

在pptv的實習結束了, 忙著找工作的事,順便把資料結構的那本書重新複習了一遍。為了加深印象,特意把裡面的常用的排序、查詢演算法用js寫了一遍

具體的例項在我的github上,大家可以訪問的:      js_sort.html檔案

//js插入排序

function insertsort(arr)

}}else

}return result;

}

//js的歸併排序

function mergesort(arr)else

function merge(left, right)else

}return arr.concat(left, right);

}}

//js快排

function quicksort(arr)

var index = math.floor(arr.length / 2);

var key = arr.splice(index, 1)[0];

var left = , right = ;

for(var i = 0; i < arr.length; i++)else

}return quicksort(left).concat([key], quicksort(right));

}

//js冒泡

function bubblesort(arr)}}

return arr;

//js二分查詢

function binarysearch(arr, key, low, hight)else if(key > arr[mid])else

return result;

}

常用的其他演算法

//js查詢兩個陣列中相同的元素

function findsame(arr1, arr2)else if(arr1[i] < arr2[j])else

}return result;

}

//js全排列

function sortall(arr, flag)else

}function swap(arr, i, flag)

}

//js求最大子串行

function max_sub(arr)else if(temp_sum < 0)

}return max;

}

//js實現中文字段擷取無亂碼

/*這裡應該還需要判斷str的長度,因為中文字元應該佔2個長度*/

function gbsubstr(str, start, len)elseelse

}return result;

}}

JavaScript與Floyd最短路演算法

nba超級後場組合燈泡組合 harden和cp3 休賽期來到中國玩耍,他們兩人打算在四個城市進行玩耍,最後他們選擇了北京 上海 西安和長沙。假設這四個城市之間有些城市之前有航線,而有些城市之間沒有航線。為了方便行程,出發前,他們想要知道任意兩個城市之間的最短路程。如果下圖就是航線圖 我們使用乙個二維...

排序算發 計數排序

前面已經記錄過插入排序,歸併排序,快速排序,堆排序等四種排序。它們都有個共性,就是通過多次比較來得出前後順序,這種叫做比較排序,當然除此之外也有非比較排序。今天記錄的計數排序就是一種非比較排序。算發思想 有一串資料,如果我們知道每乙個元素公升序在陣列中的第幾個,那麼我們就知道了公升序的結果。而對於如...

JavaScript查詢元素

w3c為我們提供了比較方便的定位節點的方法和屬性,以便我們快速的對節點進行操作。分別為 方法說明 getelementbyid 獲取去特定id元素的節點 getelementbytagname 獲取相同元素的節點列表 getelementbyname 獲取相同名稱的節點列表 geattribute ...