欢迎入群一起探讨技术:307360805
原理:相邻元素两两比较,大的往后放,第一次完毕,最大值出现在最大索引处。同理,依次类推。
publicclassArray {
publicstaticvoidmain(String[]args) {
//定义需要排序的数组
int[]array= {24, 69, 80, 57, 13};
//第一次比较
System.out.println("第一次比较前:");
print(array);
intx= 0;
for(inti=x+ 1;i
if(array[x] >array[i]){
inttemp=array[i];
array[i] =array[x];
array[x] =temp;
}
}
System.out.println("第一次比较后:");
print(array);
//第二次比较
System.out.println("第二次比较前:");
print(array);
x= 1;
for(inti=x+ 1;i
if(array[x] >array[i]){
inttemp=array[i];
array[i] =array[x];
array[x] =temp;
}
}
System.out.println("第二次比较后:");
print(array);
//第三次比较
System.out.println("第三次比较前:");
print(array);
x= 2;
for(inti=x+ 1;i
if(array[x] >array[i]){
inttemp=array[i];
array[i] =array[x];
array[x] =temp;
}
}
System.out.println("第三次比较后:");
print(array);
//第四次比较
System.out.println("第四次比较前:");
print(array);
x= 3;
for(inti=x+ 1;i
if(array[x] >array[i]){
inttemp=array[i];
array[i] =array[x];
array[x] =temp;
}
}
System.out.println("第四次比较后:");
print(array);
}
//打印数组
privatestaticvoidprint(int[]str){
System.out.print("[");
for(inti= 0;i
if(i==str.length-1){
System.out.println(str[i]+"]");
}else{
System.out.print(str[i]+",");
}
}
}
}
优化后:
System.out.println("排序前:");
print(array);
for(inti= 0;i
for(intj=i+ 1;j
if(array[i] >array[j]){
inttemp=array[j];
array[j] =array[i];
array[i] =temp;
}
}
}
System.out.println("排序后:");
print(array);
打印数组方法:
//打印数组
privatestaticvoidprint(int[]str){
System.out.print("[");
for(inti= 0;i
if(i==str.length-1){
System.out.println(str[i]+"]");
}else{
System.out.print(str[i]+",");
}
}
}