ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
### 1、冒泡排序 ***** 每轮依次比较相邻两个数的大小,后面比前面小则交换。 稳定,但不适合处理大量数据。 ``` function arraySort(arr){ var temp; for(var i=0;i<arr.length;i++){ for(var j=0;j<arr.length-i-1;j++){ if(arr[j]>arr[j+1]){ temp = arr[j] arr[j] = arr[j+1] arr[j+1] = temp } } } return arr; } ``` ### 2、选择排序 ***** 通过比较首先选出最小的数放在第一个位置上,然后在其余的数中选出次小数放在第二个位置上,依此类推,直到所有的数成为有序序列。 ``` function arraySort(arr){ var temp; for(var i=0;i<arr.length-1;i++){ for(var j=i+1;j<arr.length;j++){ if(arr[i]>arr[j]){ temp = arr[i] arr[i] = arr[j] arr[j] = temp } } } return arr; } ``` ### 3、快速排序(二分法排序) ***** 选择一个中间数,然后比它小的放左边,比它大的放右边,然后递归重复执行到`length<=1`时结束。 ``` function arraySort(arr) { if(arr.length<=1){ return arr; } var centerIndex = Math.floor(arr.length / 2) var centerVal = arr.splice(centerIndex,1)[0] var leftArr = [] var rightArr = [] for(var i=0;i<arr.length;i++){ if(arr[i]<centerVal){ leftArr.push(arr[i]) }else{ rightArr.push(arr[i]) } } return arraySort(leftArr).concat([centerVal],arraySort(rightArr)) } ``` ### 4、排序神器 ***** ``` sort() ```