JavaScript数组排序 sort方法
程序员文章站
2024-01-14 09:24:52
...
1. 选择排序
原理: 拿第一个跟后面所以的进行比较,如果有比第一个更小的,就交换位置
var arr = [1,2,6,7,3,5,9,4,0];
for(var i = 0; i<arr.length; i++){
for(var j = i+1; j<arr.length; j++){
if(arr[i] > arr[j]){
var temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
2. 冒泡排序
**原理:**相邻的两个进行比较,如果前一个比后一个大,就交换位置,第一次循环结束后,最后一个元素应该是最大,每一次循环后,最后一个元素已经是最大的了,所以最后一个元素下一次循环就不用比较了;
var arr1 = [1,2,,5,7,3,8,9];
for(var i = 0; i<arr1.length; i++){ //控制循环几次;
for(var j = 0; j<arr1.length-i; j++){
//第一次循环结束后,最后一个元素应该是最大,每一次循环后,
最后一个元素已经是最大的了,所以最后一个元素下一次循环就不用比较了,所以要"-i";
if(arr[j] > arr1[j+1]){
var temp = arr1[j];
arr1[j] = arr[j+1];
arr1[j+1] = temp;
}
}
}
3. sort()
数组排序
//如果数组中的每个元素都小于10;可以直接这样写;
var arr = [1,2,6,3,7,4,9,5];
arr.sort();//自动排序,从小到大;
//数组中有大于10的元素
var arr1 = [11,22,44,3,5,7,8];
arr2,sort(function(a,b){ // a, b数组中连个相邻的元素;
return b-a; // 相减为正,交换位置 a - b 从小到大;
})
上一篇: Java集合之工具类(重写compare()方法)
下一篇: [python] matlab库绘图