冒泡排序
输入一个无序整型数组,利用冒泡排序,使其变为有序
以从小到大为例
public class ArraySort {
public static void main(String[] args) {
int[] array = new int[10]; //定义一个长度为10的整型数组
System.out.println("请输入10个数字:");
Scanner sc = new Scanner(System.in); //从键盘输入10个数字,将值赋给array
for (int i = 0; i < array.length; i++) {
array[i] = sc.nextInt();
}
sc.close(); //关闭流
int[] sort = sort(array); //调用静态方法得到数组sort
System.out.println(Arrays.toString(sort)); //直接调用Array类中的方法打印数组
}
public static int[] sort(int[] arraySort) {
int temp = 0; //定义一个临时变量
//利用双层循环,第一层循环表示第几轮的比较,第二层循环表示该轮中两个数之间的比较
for (int i = 0; i < arraySort.length - 1; i++) {
for (int j = 0; j < arraySort.length - 1 - i; j++) { //为什么要减去i? 因为经过i轮的比较,已经有i个数按从小到大的顺序排在后面,不需要进行比较了
if (arraySort[j + 1] < arraySort[j]) { //若是想得到从大到小的排列,将'<'改为'>'即可
temp = arraySort[j];
arraySort[j] = arraySort[j + 1];
arraySort[j + 1] = temp;
}
}
}
return arraySort;
}
}