冒泡排序
冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢浮到数列的顶端。
算法描述
比较相邻的元素。如果第一个比第二个大,就交换它们两个;
对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数;
针对所有的元素重复以上的步骤,除了最后一个;
重复步骤1~3,直到排序完成。
运用冒泡排序解决的问题:
将学生的成绩排序
假设学生成绩为:80,60,90,45,100,88,59,98
代码为:
package 数组;
public class LY3冒泡排序 {
public static void main(String[] args) {
System.out.println("学生的成绩排名为:");
int[] a = { 80, 60, 90, 45, 100, 88, 59, 98 };
for (int i = 1; i < a.length; i++) {
for (int j = 0; j < a.length - i; j++) {
if (a[j] > a[j + 1]) {
int temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
for (int c = 0; c < a.length; c++) {
System.out.println(a[c]);
}
}
}
运行结果为:
学生的成绩排名为:
45
59
60
80
88
90
98
100