创建一个数组(无序)
int[] arrays={77,8,36,12,45,3,82};
int temp=0;
for(int i = 0;i<arrays.length-1;i++){
for(int j=0;i<arrays.length-i-1;j++){
if(arrays[j]>arrays[i+1]){
temp=arrays[j];
arrays[j]=arrays[j+1];
arrays[j+1]=temp;
}
}
}
System.out.print(Arrays.toString(arrays));
优化
如果已经完成排序那么flag的值就为false,让循环直接退出从而提高效率。
int temp = 0;
for (int i = 0; i < array.length-1 ; i++) {
//通过flag标识位减少没有意义的比较
boolean flag =false;
for (int j = 0; j < array.length-1-i; j++) {
if (array[j+1]>array[j]){
temp=array[j+1];
array[j+1]=array[j];
array[j]=temp;
flag=true;
}
if (flag==false){
break;
}
}
}