//快速排序
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的几种排序
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- HTML 学习笔记 May 10,2017 js函数调用过程内存分析、js函数细节、js一维数组细节、二维数组转置...