冒泡排序理论
1、双重for循环
2、指定比较次数和轮数
a) 比较轮数,数组长度-1
b)比较次数,数组长度-1
3、判断是否符合标准
4、交换比较值得位置
//需求:冒泡排序 //理论:1、比较轮数n-1 2、比较次数n-1 3、符合某条件交换位置 //核心:双重for循环 //步骤:1、双重for循环 2、指定轮数和次数 3、判断是否符合标准,如果符合标准交换位置 var arr=[1,2,3,4,5,6,7]; //每轮比较后,下一轮少比较一次(每轮都会比较出一个最大值,然后一轮没有比较的必要了) var n=0; //36 var m=0;//6 console.log(arr); //1、双重for循环(外循环控制轮数) for(var i=0; i<arr.length-1; i++){ //1、指定轮数和次数(内循环控制次数) for(var j=0; j<arr.length-1-i; j++){ //减I 每轮都扫比较一次 //判断是否符合标准,如果符合标准交换位置 //从小到大排序。如果前面的比后面的大,交换位置 if(arr[j]<arr[j+1]){ var temp=arr[j]; //把一开始的值保存起来,为了方便交换 arr[j]=arr[j+1]; arr[j+1]=temp; } m++ } n++ } console.log(arr); console.log(m); console.log(n);