卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

在一個(gè)已排序的數(shù)字?jǐn)?shù)組中查找指定數(shù)字,這個(gè)JS代碼怎么寫?

網(wǎng)友解答: 您好,很高興回答你的問題。對(duì)于這個(gè)問題,通常有兩種解決方式:遍歷遍歷是最簡(jiǎn)單的方式,即從第一個(gè)元素依次遍歷,知道找到你想要的元素:function findNum(key,

網(wǎng)友解答:

您好,很高興回答你的問題。

對(duì)于這個(gè)問題,通常有兩種解決方式:

遍歷

遍歷是最簡(jiǎn)單的方式,即從第一個(gè)元素依次遍歷,知道找到你想要的元素:

function findNum(key, list){ for(var i = 0; i < list.length; i++){ if(list[i] == key) return i; }}

但是這種方式效率很差,最壞的情況下需要遍歷整個(gè)數(shù)組。

二分查找

二分查找只適合已經(jīng)排序好的數(shù)組,思想是把要查找的數(shù)組分成兩半,取中間的數(shù),如果大于,則要找的數(shù)在右邊,否則在左邊。一直重復(fù)這個(gè)工作,直到找到最后的數(shù),二分查找的效率很高。

function binary_search(arr, key) { var low = 0, high = arr.length - 1; while(low <= high) { var mid = parseInt((high + low) /2); if(key == arr[mid]) { return mid; } else if(key arr[mid]) { low = mid + 1; } else if(key < arr[mid]) { high = mid -1; } else { return -1; } } }

標(biāo)簽: