训练7 成绩排名
10名学生在一次英语竞赛中的成绩分别为71,89,67,53,78,64,92,56,74,85,使用冒泡排序编写一个JAVA程序,将这十个学生的英语竞赛成绩由小到大进行排序。
public static void main(String[] args) {
int arr[] = new int[]{71,89,67,53,78,64,92,56,74,85};
训练7 sorter = new 训练7();//创建对象
sorter.sort(arr);
}
public void sort(int[] arr) {//定义冒泡排序的方法
System.out.println("冒泡排序前的数组为");
Showarr(arr);//使用showarr方法输出原始数组
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr.length-1; j++) {
int temp ;
if (arr[j] > arr[j+1]) {//如果这个数比后一个数大,就交换两个数的值
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
System.out.println();
System.out.println("冒泡排序后的数组为");
Showarr(arr);//再次使用showarr方法输出新的数组
}
private void Showarr(int[] arr) {//循环输出数组中的值
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + "\t");
}
}
训练8 成绩排名
10名学生在一次英语竞赛中的成绩分别为71,89,67,53,78,64,92,56,74,85,使用冒泡排序编写一个JAVA程序,将这十个学生的英语竞赛成绩由大到小进行排序。
public static void main(String[] args) {
//直接使用上一题中进行冒泡排序后的数组
int arr[] = new int[]{53,56,64,67,71,74,78,85,89,92};
int len = arr.length;//定义一个变量存储数组的长度
for (int i = 0; i < len/2; i++) {//将这个数组的第一个元素和最后一个元素交换,以此类推
int temp = arr[i];
arr[i] = arr[len-1-i];
arr[len-1-i] = temp;
}
System.out.println("排序后的数组为");
showarr(arr);//输出排序后的数组
}
public static void showarr(int[] arr) {//循环输出数组
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + "\t");
}
}