php中js对内容排序,JS几种常见的排序代码分享

本文主要和大家介绍了JS几种常见的排序代码的具体步骤与相关操作技巧,需要的朋友可以参考下,希望能帮助到大家。

4.2.1 冒泡排序

算法介绍

解析:

比较相邻的两个元素,如果前一个比后一个大,则交换位置。

第一轮的时候最后一个元素应该是最大的一个。

按照步骤一的方法进行相邻两个元素的比较,这个时候由于最后一个元素已经是最大的了,所以最后一个元素不用比较。

js代码实现function bubble_sort(arr){

for(var i=0;i

for(var j=0;j

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

var swap=arr[j];

arr[j]=arr[j+1];

arr[j+1]=swap;

}

}

}

}

var arr=[3,1,5,7,2,4,9,6,10,8];

bubble_sort(arr);

console.log(arr);

4.2.2快速排序

js代码实现

解析:快速排序是对冒泡排序的一种改进,第一趟排序时将数据分成两部分,一部分比另一部分的所有数据都要小。然后递归调用,在两边都实行快速排序。function quick_sort(arr){

if(arr.length<=1){

return arr;

}

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

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

var left=[];

var right=[];

for(var i=0;i

if(arr[i]

left.push(arr[i]);

}else{

right.push(arr[i]);

}

}

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

}

var arr=[5,6,2,1,3,8,7,1,2,3,4,7];

console.log(quick_sort(arr));

4.2.3 插入排序

算法介绍

解析:

从第一个元素开始,该元素可以认为已经被排序

取出下一个元素,在已经排序的元素序列中从后向前扫描

如果该元素(已排序)大于新元素,将该元素移到下一位置

重复步骤3,直到找到已排序的元素小于或者等于新元素的位置

将新元素插入到下一位置中

重复步骤2

js代码实现function insert_sort(arr){

var i=1,

j,key,len=arr.length;

for(;i

var j=i;

var key=arr[j];

while(--j>-1){

if(arr[j]>key){

arr[j+1]=arr[j];

}else{

break;

}

}

arr[j+1]=key;

}

return arr;

}

insert_sort([2,34,54,2,5,1,7]);

你可能感兴趣的:(php中js对内容排序)