var arr=[2,5,3,1,7,8,78,89];
		function bubbleSort(arr){
			for(var i = 0;i<arr.length;i++){ 
				for(var j=0;j<arr.length-1-i;j++){
					
					if(arr[j]<arr[j+1]){
						var temp = arr[j];
						arr[j] = arr[j+1];
						arr[j+1] = temp;
					}
				}
			}
			return arr;
		}
		console.log(bubbleSort(arr)) ;j<arr.length-1-i //是减掉之前的索引值为什么还要减1?
                    
                    
                3 回答
 
                    
                    
                            MarlboroKay
                            
                                
                            
                        
                        
                                                
                    TA贡献189条经验 获得超236个赞
补充一下:如果 j = i+1 的话,你的判断条件要改一下
 if(arr[i]>arr[j]){
    var temp = arr[j];
    arr[j] = arr[i];
    arr[i] = temp;
 }要减1是因为,要依次比较。例如:第二个要与第一个比较。但是总长度要减一要不然数组就越界了。
望采纳!
添加回答
举报
0/150
	提交
		取消
	
