0
点赞
收藏
分享

微信扫一扫

JS排序算法

橙子好吃吗 2022-02-20 阅读 63

1.冒泡排序

两两做比较,第一轮下来找不到最小的值
在这里插入图片描述

1.外层循环控制行,内层循环控制列,循环的嵌套
 var arr = [5,99,2,9,1,5,67,7,10,23];
 for(var i = 0;i < arr.length-1;i++){		//大循环,用于遍历数组每个元素
   for(var j = 0;j < arr.length-i-1;j++){	//小循环,用于将数组中的某个元素与其它所有元素相比较
    var sum;								//声明一个局部变量,当作第三个空瓶子
     if(arr[j] > arr[j+1]){					//判断当前元素和后一个元素的大小,如果当前元素比后一个元素大
       sum = arr[j+1];						//将后一个元素(小元素)放在空瓶子里
       arr[j+1] = arr[j];					//将当前元素(大元素)放在后一个元素的位置
       arr[j] = sum;						//将小元素从空瓶子中拿出来,放在当前元素的位置
     }
   }
 }    
 console.log(arr)

2.选择排序

选择排序是从数组的开头开始,将第一个元素和其他元素作比较,检查完所有的元素后,最小的放在第一个位置,接下来再开始从第二个元素开始,重复以上一直到最后
在这里插入图片描述

var arr = [5,99,2,9,1,5,67,7,10,23]     //定义一个杂乱的数组
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;                    //将最小值放在当前元素的位置
}
  console.log(arr);//输入排序好的数组   

举报

相关推荐

0 条评论