var arr = [45,26,38,59,14,88,33,66];
console.log(arr);
冒泡排序:将数组中的数据,进行两两比较,大的放后面
for(var i=0;i<arr.length-1;i++){ 遍历外层循环次数
for(var j=0;j<arr.length-1-i;j++){ 遍历单次比较
var ls = 0; 新建一个容器
if(arr[j]>arr[j+1]){ 如果前面的数比后面的数大
ls = arr[j];
arr[j] = arr[j+1]; 两者互换位置
arr[j+1] = ls;
}
}
}
console.log(arr);
选择排序:先拿到第一个数据,依次跟后面所有数据相比较,找到最小的,和当前位置作交换
//获取每个数字,依次跟后面的数据相比较
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;
}
}
//↑交换完成之后,min就是真实最小的数据
//↓将第一个数据,放在最小数据的位置
arr[minindex] = arr[i];
//将最小数据,放在第一个的位置
arr[i] = min;
}
console.log(arr)
逆战班学员