用js实现算法:冒泡排序、插入排序和快速排序

来源:互联网 发布:老时时彩遗漏数据 编辑:程序博客网 时间:2024/06/14 14:19

一、冒泡排序

 function bubbleSort(arr){for(var i=0;i<arr.length;i++){for(var j=0;j<arr.length-i-1;j++){if(arr[j]>arr[j+1]){     var temp=arr[j];     arr[j]=arr[j+1];     arr[j+1]=temp;}}} }var arr=[12,4,9,89,10];bubbleSort(arr);console.log(arr);

二、插入排序

function insertSort(arr){//从1开始遍历arrfor(var i=1;i<arr.length;i++) {           var t=arr[i];//将当前值保存在t中   var p=i-1;//定义p为i-1  //反复: p>=0&&p位置的值>t   while(p>=0&&arr[p]>t){//p位置的值,赋值给p+1位置arr[p+1]=arr[p];p--;//p减一   }//(循环退出)   arr[p+1]=t;//将t保存到p+1位置}return arr;}   var a=[5,1,2,4,8,6,3,77];  var res=insertSort(a);  console.log(res);

三、快速排序

function quickSort(arr){    if(arr.length>1){  var c=parseInt(arr.length/2);          var center=arr.splice(c,1);  for(var i= 0,left=[],right=[];i<arr.length;i++){if(arr[i]<center) left.push(arr[i]);else right.push(arr[i]);  }     return quickSort(left).concat(center,quickSort(right));    }else{      return arr;     }}  var a=[5,1,2,4,8,6,3,7];  var res=quickSort(a);  console.log(res);


阅读全文
0 0