本文共 1834 字,大约阅读时间需要 6 分钟。
目录
介绍: 它会遍历若干次要排序的数列,每次遍历时,它都会从前往后依次的比较相邻
两个数的大小;如果前者比后者大,则交换它们的位置。这样,一次遍历之后,最大的
元素就在数列的末尾! 采用相同的方法再次遍历时,第二大的元素就被排列在最大元素
之前。重复此操作,直到整个数列都有序为止!
案例:
function bubble(array) { var len = array.length; var temp; for(var i=0; iarray[j]) { temp = array[j]; array[j] = array[j-1]; array[j-1] = temp; } } } return array;}
介绍:未排序序列中找到最小元素,放入存储有序序列的数组中,同时从未排序序列中
删除这个元素;继续从未排序序列中找到最小元素,然后放入有序序列的数组中,直到
未排序序列为空,返回有序序列。
案例:
function select(arr) { var len = arr.length; for(var i=0;iarr[j]){ min = j; } } var temp = arr[min]; arr[min] = arr[i]; arr[i] = temp; } } var arr = [1,3,4,2]; select(arr); console.log(arr); // [1,2,3,4]
介绍:在一个数组中,假定第一个就是最小值,然后取第二个值与第一个值比较产排序后
的序列,然后再取第三个值与排序后的序列进行比较插入到对应的位置,依次类推。
function insert(array) { var len = array.length; var i,j; for( i = 1; i < len; i ++ ) { //从1开始,因为array[0]默认就是已经排序好的 j = i; //保存未排序序列 var value = array[j]; while(array[j-1] > value){ array[j] = array[j-1]; j --; if (j === 0) { break; } } //j就是要插入的位置 array[j] = value; } return array; }
介绍:从序列中挑出一个元素,称为基准元素,所有比基准小的元素排在基准前面,所有
比基准大的元素排在基准后面。把重新得到的序列再通过上面的方法排序,当序列长度为1或者0时,结束递归。
function quickSort (array) { var len = array.length; //数组长度为1,则本身就是有序的 if (len <= 1) { return array; } var pivot = array[0];//选第一个元素为基准 var leftArr = []; //存储比基准小的元素 var rightArr = []; //存储比基准答得元素 for(var i=1; i
转载地址:http://fwxgn.baihongyu.com/