package base.Array;
import java.util.Arrays;
public class Demo11 {
public static void main(String[] args) {
//冒泡排序
//比较数组中,两个相邻元素,如果第1个数比第2个数大,我们就交换他们的位置
//每一次比较都会产生一个最大的数字和一个最小的数字
//下一轮则可以少一次排序
//依次循环,直到结束
int[] a={5,4,4,7,132,456,486,448};
sort(a);//调用完我们自己的方法以后,排序出来一个新的数组
System.out.println(Arrays.toString(sort(a)));
}
public static int[] sort(int[] array) { //sort就是排序的意思
//外层循环,判断要多少次
boolean flag=false;//通过flag标志位减少没有必要的排序
int temp=0;
for (int i = 0; i < array.length-1; i++) {
for (int j = 0; j < array.length-1-i; j++) {
if (array[j+1]>array[j]){ //只需要改变大小就可以对调升序或者降序
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
flag=true;
}
}
if (flag=false){ //如果是错误的标志直终止循环
break;
}
}
return array;
}
}
|