2018-02-21

// fucntion EventTarget(){
//     this.handlers={}
// }
// EventTarget.prototype={
//     constructor:EventTarget,
//     addHandler:function(type,handler){
//         if(typeof this.handlers[type]==undefined){
//             this.handlers[type]=[]
//         }
//         this.handlers[type].push(handler)
//     },
//     fire:function(event){
//         if(!event.target){
//             event.target=this;
//         }
//         if(this.handlers[event.type] instanceof Array){
//             var handlers=this.handlers[event.type];
//             for(var i=0,len=handlers.length;i<len;i++){
//                 handlers[i](event)
//             }
//         }
//     },
//     removeHandlers:function(type,handler){
//         if(this.handlers[type] instanceof Array){
//             var handlers=this.handlers[type];
//             for(var i=0,len=handlers.length;i<len;i++){
//                 if(handlers[i]===handler){
//                     break;
//                 }
//             }
//             handlers.splice(i,1.
//                0)
//         }
//     }
// }
function BubbleSort(arr){
    for(let i=0;i<arr.length;i++){
        for(let j=0;j<arr.length-1-i;j++){
            if(arr[j]>arr[j+1]){
                var tem=arr[j];
                arr[j]=arr[j+1];
                arr[j+1]=tem;
            }
        }
    }
    return arr;
}
var examplearr=[8,94,15,88,55,76,21,39];
console.time("bubble sort");
console.log(BubbleSort(examplearr));
console.timeEnd("bubble sort");
function quickSort(arr){
    if(arr.length<=1){
        return arr
    }else{
        var midIndex=Math.floor(arr.length/2)//qujizhundian
        var midIndexValue=arr.splice(midIndex,1);//取基準點的值
        var left=[],//放比基準點小的數字
            right=[];//放比基準點大的數字
        for(let i=0;i<arr.length;i++){
            if(arr[i]<midIndexValue){
                left.push(arr[i])
            }else{
                right.push(arr[i])
            }
        }
        return quickSort(left).concat(midIndexValue,quickSort(right))
    }
}
console.time("quickSort");
console.log(quickSort(examplearr));
console.timeEnd("quickSort");

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章