国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JavaScrip常見的一些算法總結

2019-11-20 10:54:05
字體:
來源:轉載
供稿:網友

 下面就簡單列舉一下javascript中常見的一些算法,需要的朋友可以做一下參考。當然這些算法不僅僅適用于javascript,同樣也適用于其他語言。

一.線性查找:

比較簡單,屬于入門級的算法

//A為數組,x為要搜索的值function linearSearch(A, x) {for (var index = 0; index < A.length; index++) {if (A[index] == x) {return index;}}return -1;}

二.二分查找:

又稱折半查找,適用于已排好序的線性結構。

//A為已按"升序排列"的數組,x為要查詢的元素//返回目標元素的下標function binarySearch(A, x) {var low = 0, high = A.length - 1;while (low <= high) {var mid = Math.floor((low + high) / 2); //下取整 if (x == A[mid]) {return mid;}if (x < A[mid]) {high = mid - 1;}else {low = mid + 1;}}return -1;}

三.冒泡排序:

//冒泡排序function bubbleSort(A) {for (var i = 0; i < A.length; i++) {var sorted = true;//注意:內循環是倒著來的for (var j = A.length - 1; j > i; j--) {if (A[j] < A[j - 1]) {swap(A, j, j - 1);sorted = false;}}if (sorted) {return;}}}

四.插入排序:

//插入排序//假定當前元素之前的元素已經排好序,先把自己的位置空出來,//然后前面比自己大的元素依次向后移,直到空出一個"坑",//然后把目標元素插入"坑"中function insertSort(A) {for (var index= 1; index< A.length; index++) {var x = A[index];for (var j = index- 1; j >= 0 && A[j] > x; j--) {A[j + 1] = A[j];}if (A[j + 1] != x) {A[j + 1] = x;println(A);}}return A;}

五.字符串反轉:

//字符串反轉(比如:ABC -> CBA)function inverse(s) {var arr = s.split('');var index= 0, j = arr.length - 1;while (index< j) {var t = arr[index];arr[index] = arr[j];arr[j] = t;index++;j--;}return arr.join('');}

以上內容給大家簡單介紹了JavaScrip常見的算法總結,希望本文能夠給大家帶來幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 迭部县| 榆林市| 正定县| 大安市| 阿拉善右旗| 宜州市| 二连浩特市| 大理市| 莱西市| 九江县| 乐业县| 扶风县| 永济市| 井陉县| 陆川县| 临清市| 磴口县| 东明县| 石景山区| 嫩江县| 乌拉特后旗| 梅河口市| 临猗县| 天门市| 交城县| 昭通市| 全南县| 汉阴县| 泉州市| 灌云县| 兴安县| 马关县| 平乡县| 海安县| 抚州市| 大安市| 蒙山县| 芦山县| 鄂托克旗| 扶沟县| 北流市|