js発泡並べ替えと二分法検索

1548 ワード

JavaScriptの泡の並べ替え:
var arr = [5,0,-56,90,12];
        var flag = false;//       ,            ,     
       //       
       for(var i=0;iarr[j+1]){
                    //  
                    var temp = arr[j];

                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                    flag = true;
                }
            }
            //      ,     ,      
             if(flag){
                flag=false;
            }else{
                break;//   ,    
            }
       }

       //     
       for(var i=0;i
JavaScript二分法の検索:
二分法の検索の前提.配列は秩序化されていなければならない.
       構想:配列の中間数(midvial)と検索する数(findval)を見つけて、もしfindval findval)はmidvialの左側にあるならば、配列を2分して、左側だけで調べて、右側は同じです.
var arr = [1,4,6,8,9,10,56];
       function binarySearch(arr,findval,leftIndex,rightIndex){
            var midIndex = Math.floor((leftIndex+rightIndex)/2);
            var midval = arr[midIndex];

            if(midval>findval){
                //   
                binarySearch(arr,findval,leftIndex,midIndex);
                alert("left");
            }else if(midval