常用排序算法js版
Array.sort是通过javascript来实现的,而使用的算法是快速排序
冒泡排序:第一次循环,开始比较当前元素与下一个元素的大小,如果比下一个元素小或者相等,则不需要交换两个元素的值;若比下一个元素大的话,则交换两个元素的值。然后,遍历整个数组,第一次遍历完之后,相同操作遍历第二遍。
选择排序:第一遍,从数组中选出最小的,与第一个元素进行交换;第二遍,从第二个元素开始,找出最小的,与第二个元素进行交换;依次循环,完成排序
插入排序:循环原数组,然后,将当前位置的元素,插入到之前已排序好的数组中,依次操作。
快速排序:
-
const arr = [30, 32, 6, 24, 37, 32, 45, 21, 38, 23, 47];
-
-
function quickSort(arr){
-
if(arr.length <= 1){
-
return arr;
-
}
-
let temp = arr[0];
-
const left = [];
-
const right = [];
-
for(var i = 1; i < arr.length; i++){
-
if(arr[i] > temp){
-
right.push(arr[i]);
-
}else{
-
left.push(arr[i]);
-
}
-
}
-
return quickSort(left).concat([temp], quickSort(right));
-
}
-
-
console.log(quickSort(arr));