js中 的排序方法
冒泡排序
思想:数组中相邻元素两两比较,如果第一个元素大于第二个元素,交换位置,第一轮比较结束,能确定一个最大值,然后进行第二类比较。
var arr = [11,2,3,5,6,67];
for(var i=1; i<arr.length; i++){
for(var j=0; j<arr.length-i; j++){
if(arr[j]>arr[j+1]){
var temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
**选择排序**
思想:假定数组中第一个元素为最小值,对应的索引值为minIndex,让该值和剩余元素进行比较,改变minIndex的指向,指向小值的索引,让minIndex对应的值和剩余的值进行比较,第一轮结束能确定最小值对应minIndex,让其与第一个元素的位置进行交换
var arr = [11,3,45,56,6,7]
function selectSort(arr){
for(var i=0; i<arr.length-1; i++){
var minIndex = i;
for(var j=i+1; j<arr.length; j++){
if(arr[minIndex] >arr[j]){
minIndex = j;
}
}
var temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
return arr;
}
console.log(selectSort(arr));