加一个flag进行控制 这样可以减少排序的次数
public class Main {
public static void main(String args[]){
int numbers[] = {1,5,2,4,3};
int flag= 0;
for(int i=0;i<5 ;i++){
flag = 0;
for(int j=i+1;j<5;j++){
if(numbers[i]>numbers[j]){
int temp;
temp = numbers[i];
numbers[i] = numbers[j];
numbers[j] = temp;
flag=1;
}
if(flag==0){
break;
}
}
}
for (int i=0;i<5;i++){
System.out.println(numbers[i]);
}
}
}
由于最后一次改变的时候,其实最大的数字已经在最后一位了,所以可以直接在
第一个for循环处:
for(int i=0;i<numbers.length()-1;i++)
即可