冒泡排序
冒泡排序的原理:(图片来源于网络)
下面我们用两种方法实现冒泡排序:
var afterDelete = [11, 2, 6, 31, 5]
方法一:
function range(arr) { for(var i=0;i<arr.length-1;i++){ //索引值是i的数字和排在它后面的所有数字依次比较一次 for (var j = i + 1;j < arr.length;j++){ if (arr[i] > arr[j]) { var temp = arr[j]; arr[j] = arr[i]; arr[i] = temp; } } } return arr } var rangeResult = range(afterDelete) console.log(rangeResult) // [2, 5, 6, 11, 31]
方法二:
function quickSort(elements){ if(elements.length<=1){ return elements; } var index = Math.floor(elements.length/2); //console.log(index);//5->5->4->3->2->2->1 var pivot = elements.splice(index,1)[0];//获取删除的数字 //console.log("pivot="+pivot);//1-8-7-3-6-4.4-5.5 var arrLeft = []; var arrRight = []; for(var i = 0;i<elements.length;i++){ if(elements[i] < pivot){ arrLeft.push(elements[i]); // console.log("arrLeft="+arrLeft); }else{ arrRight.push(elements[i]); // console.log("arrright="+arrRight) } } return quickSort(arrLeft).concat([pivot],quickSort(arrRight)); } console.log(quickSort(afterDelete)); // [2, 5, 6, 11, 31]
作者:牧羊狼
出处:https://www.cnblogs.com/edwardwzw/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利,谢谢您的配合。
Freedom is not let you do whatever you wanna but teach you not to do the things that you donnot wanna do.