常用排序算法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));

浙公网安备 33010602011771号