**var arr =[49,13,6,9,10,5,4,65,56,21,32];
i j
1 0123456 49与13,6,9,10....32比较,将它们中的最小值放在最前面
2 123456 索引为1的与索引为2,3,4...比较,将它们中的最小值放在索引为1的位置
3 23456 索引为2的与索引为3,4,5...比较,将它们中的最小值放在索引为2的位置
4 3456 ....
5 456 ....
6 56 ....**
思路一选择排序(一个与多个比较)
for(var i=1;i<arr.length;i++){//外层比较的次数
for(var j=i;j<arr.length;j++){//遍历需要比较的索引
if(arr[i-1]>arr[j]){//每一个与后面的所有比较
var m=arr[i-1];//交换值
arr[i-1]=arr[j];
arr[j]=m;
}
}
}
console.log(arr);
**思路二冒泡排序(两两相邻比较)
i j
1 0123456 索引为0-1,1-2,2-3...比较
2 012345 ....
3 01234
4 0123
5 012
6 01**
for(var i=1;i<arr.length;i++){//外层比较的次数
for(var j=0;j<arr.length-i;j++){//遍历需要比较的索引
if(arr[j]>arr[j+1]){//相邻两两比较,将大的放在数组后面
var m=arr[j];//交换值
arr[j]=arr[j+1];
arr[j+1]=m;
}
}
}
console.log(arr);
两种简单的排序方法
最新推荐文章于 2022-11-17 14:48:01 发布