冒泡排序
排序算法有多种,常用的排序算法有冒泡排序、插入排序、选择排序、快速排序、堆排 序、归并排序、希尔排序、二叉树排序、计数排序等。在所有的排序算法中,冒泡排序是最重要的一种排序算法。
冒泡排序:假设排序小聪、小美、小黑、小莉、小薇的身高,他们的身高如图所示。冒泡排序的算法是通过对相邻元素的大小进行比较,每一轮将一个最小或最大的数放到队列的最后面,冒泡排序算法如图所示。
五个人的身高
从键盘上输入 5 名学生的身高,使用冒泡排序算法,按照从高到低排序输出每一个学生的身高。
public static void main(String[] args) {
java.util.Scanner input = new java.util.Scanner(System.in);
// 存储五个人的身高
int[] height = new int[5];
// 循环输入五个人的身高
for (int i = 0; i < height.length; i++) {
System.out.println("请输入第" + (i + 1) + "个新兵的身高:");
height[i] = input.nextInt();
}
// 定义临时变量
int temp;
// 进行冒泡排序
for (int i = 0; i < height.length - 1; i++) { // 外循环控制比较多少轮
for (int j = 0; j < height.length - 1 - i; j++) { // 内循环控制每轮比较多少次
if (height[j] > height[j + 1]) {
// 进行两数交换
temp = height[j];
height[j] = height[j + 1];
height[j + 1] = temp;
}
}
}
// 将排序后结果进行输出
System.out.println("从低到高排序后的输出:");
for (int i = 0; i < height.length; i++) {
System.out.println(height[i]);
}
结果如下