1.冒泡排序(babble)

  1. function babbleSort(arr) {
  2. let len = arr.length,
  3. switchItem = null;
  4. for(let k = 0;k<len-1;k++) {
  5. for(let i = 0;i < len - k - 1;i++) {
  6. if(arr[i] > arr[i+1]) {
  7. switchItem = arr[i];
  8. arr[i] = arr[i+1];
  9. arr[i+1] = switchItem;
  10. }
  11. }
  12. }
  13. return arr;
  14. }

2.插入排序

  1. function insertSort(arr) {
  2. let len = arr.length;
  3. for (let i = 1; i < len; i++) {
  4. for (let k = i-1; k >= 0; k--) {
  5. if(arr[k+1] < arr[k]) {
  6. [arr[k+1],arr[k]] = [arr[k],arr[k+1]]
  7. }else{
  8. break;
  9. }
  10. }
  11. }
  12. return arr;
  13. }

3.快速排序

  1. function quickSort(arr) {
  2. if(arrl.length <= 1) {
  3. return arr;
  4. }
  5. let middleIndex = Math.floor(arr.length/2),
  6. middleItem = arr[middleIndex];
  7. arr.splice(middleIndex,1);
  8. let leftArr = [],
  9. rightArr = []
  10. arr.forEach(item => {
  11. item > middieItem ? rightArr.push(item) : leftArr.push(item);
  12. })
  13. return quickSort(leftArr).concat(middleItem,quickSort(rightArr));
  14. }