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;
}
网友评论