// 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");
2018-02-21
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.