前端需要了解的一些排序方法总结
1. 冒泡排序
含义:冒泡排序是一种很常见的排序方法,其本质就是比较相邻的元素大小,把相对小的往前排,对从开头的每一组元素都进行比较,并不断重复这个过程。
步骤:
- 比较相邻的元素,第一个比第二个大,就交换顺序
- 对每一对相邻元素进行第一步,可以使最大的元素排在最后
- 除了最后一个元素,对其他元素继续比较
- 重复步骤一二三,直到完全排好
其js代码如下:
function BubbleSort(arr){
var len = arr.length;
for(let i = 0; i < len-1; i++){
//从第一组开始比较
for (let j = 0; j < len-1-i; j++){
if(arr[j] > arr[j+1]){
//交换前后顺序
var temp = arr[j+1];
arr[j+1] = arr[j];
arr[j] = temp;
}
}
}
return arr;
}
2. 选择排序
含义:选择排序的特点是比较直观,选出未排序的元素中最小的一个,放到最前,一直循环这个过程,直到最后。
步骤:
- 遍历数组,找出最小的元素,记录其索引
- 将其变到第一位,对其余数组再次遍历,寻找最小,
- 重复步骤一二,直到数组变为有序数组
其js代码如下:
function selectionSort(arr) {
var len = arr.length;
var minIndex, temp;
for (let i = 0; i < len - 1; i++) {
minIndex = i;
for (let j =