冒泡排序和二分法查找

冒泡排序:元素和该元素后面的元素挨个比较,大的往后放。
代码如下:

 function sort(arr){
            for(let i=0;i<arr.length-1;i++){
                for(let j=0;j<arr.length-(i+1);j++){
                    if(arr[j]>arr[j+1]){
                        let temp=arr[j]
                        arr[j]=arr[j+1]
                        arr[j+1]=temp
                    }
                }
            }
            return arr;
        }

二分法查找:取一个中间大小的和左边,右边分别比较。如果巧好等于要查找的值,直接返回,否则如果小于中间值,就在左边的查找,大于中间值在右边查找。依次做循环这个过程。直到找到为止。
代码如下:

  function binarySearch(arr,key){
            let h=arr.length-1
            let l=0
            while(l<=h){
                let m=Math.floor((h+1)/2)
                if(key===arr[m]){
                    return m;
                }else if(key>arr[m]){
                    return l=m+1
                }else if(key<arr[m]){
                    return h=m-1
                }
            }  
            return false
        }

猜你喜欢

转载自blog.csdn.net/weixin_44494811/article/details/108363008
今日推荐