1.快速排序
var arr = [1, 2, 5, 6, 3, 1, 4]; function mySort(arr) { if (arr.length <= 1) { return arr; } // 获取中间值的索引 var len = Math.floor(arr.length / 2); // 截取中间值 var middle = arr.splice(len, 1); var left = []; var right = []; for (var i = 0; i < arr.length; i++) { if (middle > arr[i]) { left.push(arr[i]) } else { right.push(arr[i]) } } return mySort(left).concat(middle, mySort(right)) } console.log(mySort(arr))//[ 1, 1, 2, 3, 4, 5, 6 ]
2.冒泡排序
思想:冒泡排序思想:每一次对比相邻两个数据的大小,小的排在前面,如果前面的数据比后面的大就交换这两个数的位置
要实现上述规则需要用到两层for循环,外层从第一个数到倒数第二个数,内层从外层的后面一个数到最后一个数
var bubbleSort=function(arr){ for(var i=0;i<arr.length-1;i++){ for(var j=i+1;j<arr.length;j++){ if(arr[i]>arr[j]){//如果前面的数据比后面的大就交换 var temp=arr[i]; arr[i]=arr[j]; arr[j]=temp; } } } return arr; } console.log("The result is:"+bubbleSort(arr));