1、冒泡排序
两次循环比较相邻元素,交换位置
1 function popSort(arr) { 2 for (let i = 0; i < arr.length; i++) { 3 for (let j = i + 1; j < arr.length; j++) { 4 if (arr[i] > arr[j]) { 5 var temp = arr[i]; 6 arr[i] = arr[j]; 7 arr[j] = temp; 8 } 9 } 10 } 11 return arr 12 }
2、选择排序
找到数组最小的元素,将它和数组第一个元素交换位置,接下来,在剩下的元素中找到最小的元素,将它与数组的第二个元素交换位置,往复如此,直到将整个数组排序。基本点就是不断地选择剩余元素之中的最小者。
1 function selectSort(arr) { 2 for (let i = 0; i < arr.length; i++) { 3 let min = arr[i]; 4 for (let j = i + 1; j < arr.length; j++) { 5 if (min > arr[j]) { 6 arr[i] = arr[j]; 7 arr[j] = min; 8 min = arr[i]; 9 } 10 } 11 } 12 13 return arr 14 }
3、快速排序
1 function quickSort(arr) { 2 if (arr.length <= 1) { 3 return arr; 4 } 5 let num = arr[0], left = [], right = []; 6 for (let i = 1; i < arr.length; i++) { 7 if (arr[i] < num) { 8 left.push(arr[i]); 9 } else { 10 right.push(arr[i]); 11 } 12 } 13 14 return quickSort(left).concat([num], quickSort(right)); 15 }
4、插入排序
原文:https://www.cnblogs.com/extroxe-1204/p/14926179.html