冒泡排序
方法一:
function buble(arr){
for(var i =0;i < arr.length;i++){
for(var j = 0;j < arr.length;j++){
if(arr[i] < arr[j]){
var temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
return arr;
}
//测试代码运行时间,console.time()、console.timeEnd()
console.time("开始")
buble([2,1,3,5,4,7,3,3,3,3,6,3,4,7,2,3,7,8,9,6,343,62,64,63,2]);
console.timeEnd('开始')
方法二:
[链接描述][1]
var arr = [1,3,20,5,2,9,6,4,80,9,4];
var arrLength = arr.length;
for(var i=0;i<arrLength;i++){
for(j=0;j<arrLength-i-1;j++){
if(arr[j]>arr[j+1]){
var temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
console.log(arr);
选择排序
function select(arr){
for(var i = 0;i < arr.length;i++){
for(var j = i;j < arr.length;j++){
if(arr[i] > arr[j]){
var temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
return arr;
}
select([1,3,20,5,2,9,6,4,80,9,4]);
插入排序
错误示范:
function select(arr){
for(var i = 1;i < arr.length;i++){
for(var j = i;j > 0;j--){
//i需要改为j,因为需要从右到左一直进行大小比较,然后插入,再比较插入
if(arr[i] < arr[j-1]){
var temp = arr[i];
arr[i] = arr[j-1];
arr[j-1] = temp;
}
}
}
return arr;
}
select([1,3,20,5,2,9,6,4,80,9,4]);
正确代码:
function select(arr){
for(var i = 1;i < arr.length;i++){
for(var j = i;j > 0;j--){
if(arr[j] < arr[j-1]){
var temp = arr[j];
arr[j] = arr[j-1];
arr[j-1] = temp;
}
}
}
return arr;
}
select([1,3,20,5,2,9,6,4,80,9,4]);
借鉴自:
链接描述
微信公众号:天字一等
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。