JS常用数组排序方法汇总
- Bubble_Sort 冒泡排序
- 每一轮从数组头部开始,每两个元素比较大小并进行交换 直到一轮当中最大或最小的值被放在数组的尾部,然后,不断重复这个过程,直到所有的元素都排好位置.
var arr1 = [1, 3, 14, 520, 99, 2, 6];
for (var i = 0; i < arr1.length; i++) {
for (var j = 0; j < arr1.length - i - 1; j++) {
if (arr1[j] > arr1[j + 1]) {
var temp = arr1[j];
arr1[j] = arr1[j + 1];
arr1[j + 1] = temp;
}
}
}
console.log(arr1);
- Insertion_Sort 插入排序
var arr2 = [1, 3, 14, 520, 99, 2, 6];
for (var i = 0; i < arr2.length; i++) {
var n = i;
while (arr2[n] > arr2[n + 1] && n >= 0) {
var temp = arr2[n];
arr2[n] = arr2[n + 1];
arr2[n + 1] = temp;
n--;
}
}
console.log(arr2);
- 冒泡排序中,经过每一轮的排序处理后,数组后端的数都是排好序的;
- 插入排序中,经过每一轮的排序处理后,数组前端的数都是排好序的;
- Select_Sort 选择排序
- 通过比较,选出最小的数放在第一位,然后在其余所有的数中选出最小的数排在第二位,以此类推,直到排序结束.
var arr3 = [1, 3, 14, 520, 99, 2, 6];
var temp;
for (var i = 0; i < arr3.length - 1; i++) {
for (var j = i + 1; j < arr3.length; j++) {
if (arr3[i] > arr3[j]) {
temp = arr3[i];
arr3[i] = arr3[j];
arr3[j] = temp;
}
}
}
console.log(arr3);
- sort()方法排序
var arr4 = [1, 3, 14, 520, 99, 2, 6];
arr4.sort(function (a, b) {
return a - b;
})
console.log(arr4);