美文网首页
js实现排序

js实现排序

作者: 啾啾哒 | 来源:发表于2017-08-24 16:07 被阅读0次

1.简单排序

function compare(a,b)

{

    return (a>b)?alert("大于"):alert("小于");

}

2.冒泡排序

vararr= [12,5,3,8,0,15,6,1,9,4,27];

varlen=arr.length;

functionbubbleSort(arr) {

vartmp=0;

for(vari=0;i

for(varj=0;j

if(arr[j] > arr[j+1]) {

tmp= arr[j];

arr[j] = arr[j+1];//交换

arr[j+1] =tmp;

}

}

}

returnarr;

}

alert(bubbleSort(arr));

冒泡排序动图演示:

3.快速排序

快速排序的最坏运行情况是o(n2)

快速排序动图演示:

快速排序js实现:

var arr=[2,1,6,66,3,4,88,100,300,4,5];

function quickSort(arr){

if(arr.length==1)

{

return arr;

}

else{

var pivotIndex=Math.floor(arr.length/2);

var pivot=arr.splice(pivotIndex,1)[0];

var left=[];

var right=[];

if(arr[i]<pivotIndex)

{

left.push(arr[i]);

}else{

right.push(arr[i]);

}

}

return quickSort(left).concat([pivot],quickSort(right));

alert(quickSort(arr));

3.插入排序


插入排序js代码实现

var arr=[2,1,4,3,5,66,44,77,33];

function insertSort(arr)

{

var len=arr.length;

var preIndex,current;

for(var i=0;i<len;i++)

{

preIndex=i-1;

current=arr[i];

while(preIndex>=0&&arr[preIndex]>current)

{

arr[preIndex+1]=arr[preIndex];

preIndex--;

}

arr[preIndex+1]=current;

}

return arr;

}

相关文章

网友评论

      本文标题:js实现排序

      本文链接:https://www.haomeiwen.com/subject/osiifxtx.html