冒泡排序从第一个元素开始,对数组中两两相邻的元素比较,将值较小的元素放在前面,值较大的元素放在后面,一轮比较完毕,一个最大的数沉底成为数组中的最后一个元素,一些较小的数如同气泡一样上浮一个位置。n个数,经过n-1轮比较后完成排序。
function bubbleSort(arr){
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 temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
return arr;
}
选择排序每次遍历确定一个最小值,第几次遍历就把这个最小值放在数组的第几个位置 然后从后面的元素再次获得最小值,在放到数组前端, 重复上两个步骤,知道遍历到数组的最后一个元素 有多少个元素,就要遍历多少次
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;
}