快速排序参考阮一峰老师最开始写的版本,不断从数组中间分开,直到分成两个数字,就可以比较大小。小的排左边,大的往右边排。
let quickSort = (numbers) =>{if(numbers.length<=1){return numbers}let quickIndex = Math.floor(numbers.length/2)let pvot = numbers.splice(quickIndex,1)[0]let left = []let right = []for(let i = 0; i<numbers.length; i++){if(numbers[i]> pvot){right.push(numbers[i])}else{left.push(numbers[i])}}return quickSort(left).concat([pvot],quickSort(right))}
冒泡排序:两两比较相邻记录的关键字,如果反序则交换,直至没有反序为止。
//从小到大function BubbleSort(arr){let i,j,temp;for(i=0;i<arr.length-1;i++){for(j=arr.length-1;j>i;j--){if(arr[j]<arr[j-1]){ //j为从后往前循环temp=arr[j-1];arr[j-1]=arr[j];arr[j]=temp;}}}return arr;}
