冒泡排序和选择排序都是数组排序。
数组排序方法:sort()排序,字符的排序,逐位比较
arr.sort(function(a,b){
return a-b;
});
console.log(arr);
a-b从小到大数值排序,b-a从大到小排序。
冒泡排序:两两比较。
案例:arr[5,7,4,8,3]
确定比较次数
0-1 1-2 2-3 3-4 0~length-1-0
0-1 1-2 2-3 0~length-1-1
0-1 1-2 0~length-1-2
0-1 0~length-1-3
length-1
排序
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 ls = arr[j];
arr[j] = arr[j+1];
arr[j+1] = ls;
}
}
}
选择排序:将第一位和后面所有相比较,最小的交换,放在第一位。
案例:arr[5,7,4,8,3]
分析:
0-1 0-2 0-3 0-4 0-5 0~length-1
1-2 1-3 1-4 1-5 1~length-1
2-3 2-4 2-5 2~length-1
3-4 3-5 3~length-1
4-5 4~length-1
length-1
排序:
for(var i=0;i<arr.length-1;i++){
var min = arr[i];
var minIndex = i;
for(var j=i+1;j<arr.length;j++){
if(min > arr[j]){
min = arr[j];
minIndex = j;
}
}
arr[minIndex] = arr[i];
arr[i] = min;
}