国产探花免费观看_亚洲丰满少妇自慰呻吟_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常見的算法總結,希望本文能夠給大家帶來幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 齐齐哈尔市| 玉环县| 东兴市| 绍兴县| 黄山市| 大渡口区| 当涂县| 顺义区| 陆良县| 嵊州市| 临桂县| 浮山县| 土默特左旗| 法库县| 稻城县| 茶陵县| 武城县| 项城市| 惠安县| 都安| 钦州市| 苗栗市| 通化市| 亚东县| 迭部县| 西峡县| 共和县| 岚皋县| 宜兰县| 防城港市| 土默特右旗| 安溪县| 汉寿县| 铜山县| 饶平县| 灯塔市| 吉水县| 青州市| 德阳市| 贞丰县| 哈密市|