JavaScrip常見的一些算法總結(jié)
下面就簡單列舉一下javascript中常見的一些算法,需要的朋友可以做一下參考。當(dāng)然這些算法不僅僅適用于javascript,同樣也適用于其他語言。
一.線性查找:
比較簡單,屬于入門級的算法
//A為數(shù)組,x為要搜索的值 function linearSearch(A, x) { for (var index = 0; index < A.length; index++) { if (A[index] == x) { return index; } } return -1; }
二.二分查找:
又稱折半查找,適用于已排好序的線性結(jié)構(gòu)。
//A為已按"升序排列"的數(shù)組,x為要查詢的元素 //返回目標(biāo)元素的下標(biāo) 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; //注意:內(nèi)循環(huán)是倒著來的 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; } } }
四.插入排序:
//插入排序 //假定當(dāng)前元素之前的元素已經(jīng)排好序,先把自己的位置空出來, //然后前面比自己大的元素依次向后移,直到空出一個"坑", //然后把目標(biāo)元素插入"坑"中 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; }
五.字符串反轉(zhuǎn):
//字符串反轉(zhuǎn)(比如: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(''); }
以上內(nèi)容給大家簡單介紹了JavaScrip常見的算法總結(jié),希望本文能夠給大家?guī)韼椭?/p>
- js版本A*尋路算法
- Javascript中的常見排序算法
- js+ajax實現(xiàn)的A*游戲路徑算法整理
- JavaScript blog式日歷控件新算法
- 常用JS加密編碼算法代碼
- 一個簡單的JavaScript 日期計算算法
- javascript &&和||運算法的另類使用技巧
- JavaScript中幾種常見排序算法小結(jié)
- JavaScript生成GUID的多種算法小結(jié)
- js算法中的排序、數(shù)組去重詳細(xì)概述
- javascript中解析四則運算表達(dá)式的算法和示例
- Java、JavaScript、Oracle、MySQL中實現(xiàn)的MD5加密算法分享
- js交換排序 冒泡排序算法(Javascript版)
相關(guān)文章
JS中通過url動態(tài)獲取圖片大小的方法小結(jié)(兩種方法)
這篇文章主要介紹了JS中通過url動態(tài)獲取圖片大小的方法小結(jié),本文給大家列舉了兩種方法,大家可以嘗試下看哪種方法好用,感興趣的朋友跟隨小編一起看看吧2018-10-10Bootstrap基本樣式學(xué)習(xí)筆記之表格(2)
Bootstrap提供了一個清晰的創(chuàng)建表格的布局,這篇文章主要介紹了Bootstrap學(xué)習(xí)筆記之表格基本樣式的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-12-12瀏覽器圖片選擇預(yù)覽、旋轉(zhuǎn)、批量上傳的JS代碼實現(xiàn)
這篇文章主要介紹了瀏覽器圖片選擇預(yù)覽、旋轉(zhuǎn)、批量上傳的JS代碼實現(xiàn),有需要的朋友可以參考一下2013-12-12easyui combobox開啟搜索自動完成功能的實例代碼
下面小編就為大家?guī)硪黄猠asyui combobox開啟搜索自動完成功能的實例代碼。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-11-11