//快速排序
function quickSort(a){
if(a.length<=1)//边界条件判断
return a;
var midLength = Math.floor(a.length/2);
var midValue = a.splice(midLength,1);
var left = [];
var right = [];
for(var i = 0; i<a.length; i++){
if(a[i] < midValue){
left.push(a[i]);
}else{
right.push(a[i]);
}
}
return quickSort(left).concat(midValue,quickSort(right));
}
console.log(quickSort([1,3,5,2,4,7,9,6,8]));
//冒泡排序
function bubbleSort(a) {
var length = a.length;
var sortArray;
for(var i = 0; i<length-1; i++){
for(var j = 0; j<length-1; j++){
if(a[j]>a[j+1]){
sortArray = a[j];
a[j] = a[j+1];
a[j+1] = sortArray;
}
}
}
return a;
}
console.log(bubbleSort([1,3,5,2,4,7,9,6,8]));
//插入排序
function insertSort(a) {
var length = a.length;
var sortArray;
for(var i = 1; i < length; i++) {
for(var j = 0; j < i; j++){
if(a[i] < a[j]){
sortArray = a[i];
a[i] = a[j];
a[j] = sortArray;
}
}
}
return a;
}
console.log(insertSort([1,3,5,2,4,7,9,6,8]));
//选择排序
function selectSort(a){
for(var i = 0; i < a.length; i++){
var min = a[i];
var k = i;
for(var j = i+1; j<a.length; j++){
if(min > a[j]){
min = a[j];
k = j;
}
}
a[k] = a[i];
a[i] = min;
}
return a;
}
console.log(selectSort([1,3,5,2,4,7,9,6,8]));
js的几种排序
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- HTML 学习笔记 May 10,2017 js函数调用过程内存分析、js函数细节、js一维数组细节、二维数组转置...