罕用的两种排序形式:
疾速排序:
这里的这种是最简略的一种写法,能够用来面试口试
var quickSort = function(arr){ if(arr.length <= 1){return arr}; //Math.floor办法获取一个小于等于它的整数 var pivotIndex = Math.floor(arr.length / 2); //splice,数组最弱小的办法,能够删除,减少,替换元素;这里用来删除 var pivot = arr.splice(pivotIndex,1)[0]; var left = []; var right = []; for(var i=0;i<arr.length;i++){ if(arr[i]<pivot){ left.push(arr[i]); }else{ right.push(arr[i]); } } //concat,数组拼接的办法 return quickSort(left).concat([pivot],quickSort(right)); } var arr1 = [48,32,56,7,33,59]; console.log(quickSort(arr1));
冒泡排序:
var arr = [2,3,5,4,89,54,35]; function bSort(){ for(var i=0;i<arr.length-1;i++){ for(var j=0;j<arr.length-1-i;j++){ //相邻元素两两比照,元素替换,大的元素换到前面 if(arr[j]>arr[j+1]){ var x; x = arr[j]; arr[j] = arr[j+1]; arr[j+1] = x; } } } return arr; } bSort(arr); console.log(bSort(arr));