数组的冒泡排序和选择排序

谁都会走 提交于 2019-12-02 09:07:10

数组排序:
冒泡排序:将数组中的元素,两两比较,大的放后面
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 a = arr[ j ];
arr[ j ] = arr [ j +1];
arr[ j+1] = a ;
}
}
}
console.log(arr);
!]
在这里插入图片描述

选择排序:从左向右,依次取一个数值,与后面所有数值做比较,最小的放前面
var arr = [6,4,9,0,1,3,2];
// 0-1,0-2,0-3,0-4 0 ~ length-1 (第一位和第二位、第三位、第四位、第五位依次比较)
// 1-2,1-3,1-4 1 ~ length-1 (第二位和第三位、第四位、第五位依次比较)
// 2-3,2-4 2 ~ length-1 (第三位和第四位、第五位依次比较)
//3-4 3 ~ 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;
}
console.log(arr);

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!