快排
var sortArray = function(nums) {
const len = nums.length
if (len <= 1) return nums
const midValue = nums.splice(Math.floor(len/2), 1)
const left = [], right = []
for (let i = 0; i < nums.length; i++) {
const curVal = nums[i]
if (curVal < midValue) {
left.push(curVal)
} else {
right.push(curVal)
}
}
return [...sortArray(left), midValue, ...sortArray(right)]
};
const quickSort = nums => {
const sort = (nums, left, right) => {
if (left > right) return
let i = left, j = right
const prviot = nums[i]
while(i < j) {
while(i < j && nums[j] >= prviot) {
j--
}
nums[i] = nums[j]
while(i < j && nums[i] <= prviot) {
i++
}
nums[j] = nums[i]
}
nums[i] = prviot
sort(nums, left, i - 1)
sort(nums, i + 1, right)
}
sort(nums, 0, nums.length - 1)
return nums
}
冒泡
const bubbleSort = nums => {
const len = nums.length
for (let i = 0; i< len; i++) {
for (let j = 1;j < len - i; j++) {
if (nums[j -1] > nums[j]) {
[nums[j -1], nums[j]] = [nums[j], nums[j - 1]]
}
}
}
return nums
}