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

首頁 > 開發 > JS > 正文

JavaScrip常見的一些算法總結

2024-05-06 16:27:02
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了JavaScrip常見的一些算法總結的相關資料,需要的朋友可以參考下
 

 下面就簡單列舉一下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常見的算法總結,希望本文能夠給大家帶來幫助。



注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 巨鹿县| 渑池县| 南川市| 遵义县| 永胜县| 石棉县| 呼伦贝尔市| 罗甸县| 南皮县| 屏南县| 长沙县| 龙里县| 文昌市| 巧家县| 六枝特区| 德江县| 甘德县| 舒兰市| 太原市| 玉屏| 雅江县| 桃江县| 江都市| 宁安市| 呼和浩特市| 交口县| 留坝县| 宽城| 青阳县| 江华| 乡宁县| 江津市| 西乌| 文水县| 北安市| 肥东县| 新余市| 黄石市| 随州市| 深圳市| 土默特右旗|