码迷,mamicode.com
首页 > 其他好文 > 详细

二分法查找

时间:2020-03-04 19:00:34      阅读:52      评论:0      收藏:0      [点我收藏+]

标签:个数   二分   sort   class   function   fun   array   end   let   

随机产生15个不想等的[0,100]之间的随机数,对这15个数从小到大排序,然后应用二分法查找34是否在这15个随机数里边

 1 function random(num) {
 2     var arr = []
 3     while(arr.length < num) {
 4         var num = Math.floor(Math.random()*100); //生成一个0-100的随机数
 5         if(arr.length === 0) {
 6             arr.push(num)
 7         } else {
 8             for(var i = 0;i<arr.length;i++) {
 9                 if(arr.join(‘,‘).indexOf(num)<0){
10                     arr.push(num)
11                 }
12             }
13         }
14         
15     }
16     return arr
17     
18 }
19 let newArray = random(15)
20 
21 newArray.sort(function(a,b){
22     return a-b
23 })
24 console.log(newArray)
25 
26 function getNum(arr,num) {
27     var len = arr.length,
28     st = 0,
29     end = len-1;
30     while(st<=end){
31         var mid = Math.floor((st+end)/2)
32         if(num == arr[mid]) {
33             return mid
34         }else if(num> arr[mid]){
35             st = mid+1
36         } else {
37             end = mid-1
38         }
39     }
40     return arr
41 }
42 let cur = getNum(newArray,34)
43 if(cur instanceof Array) {
44     console.log(‘无‘)
45 } else {
46     console.log(‘找到了下表为‘+ cur)
47 }

 

二分法查找

标签:个数   二分   sort   class   function   fun   array   end   let   

原文地址:https://www.cnblogs.com/chailuG/p/12411355.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!