快捷搜索: 脱发

数组有哪几种排序方法

1.常用的数组自带的方法

var arr = [6, 3, 8, 7, 1, 5, 4, 2, 9];
arr.sort(function(a, b){
          
   
	return a - b;//升序排列
	//return b - a;//降序排列
});
//结果是[1, 2, 3, 4, 5, 6, 7, 8, 9]
console.log(arr);

2.冒泡排序

var arr = [6, 3, 8, 7, 1, 5, 4, 2, 9];
 	var t;//给一个中间变量,用来交换数据的
 	//循环数组,这里的-1是为了不让数组越界
 	for (var i = 0; i < arr.length - 1; i++) {
          
   
 		//把最大的数放到最后面,减i是减去的已经排序好的数据可以不用再次循环,减少缓存
        for (var j = 0; j < arr.length - 1 - i; j++) {
          
   
        	//判断前面的数是否大于后面的数,如果大于就把前面大的数和后面小的数交换
            if (arr[j] > arr[j + 1]) {
          
   
                t = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = t;
            }
        }
    }
    console.log(arr);
经验分享 程序员 微信小程序 职场和发展