欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScrip常見的一些算法總結(jié)

 更新時間:2015年12月28日 14:43:36   投稿:mrr  
這篇文章主要介紹了JavaScrip常見的一些算法總結(jié)的相關(guān)資料,需要的朋友可以參考下

 下面就簡單列舉一下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>

相關(guān)文章

最新評論