冒泡排序:
1 package com.bdqn; 2 3 import java.util.Arrays; 4 import java.util.Scanner; 5 6 public class Student { 7 public static void main(String[] args) { 8 int[] scores = new int[6];//声明一个长度为6的数组 9 scores[0] = 99;scores[1] = 60;scores[2] = 75; 10 scores[3] = 72;scores[4] = 85; 11 System.out.println("排序前"); 12 for(int score : scores) { 13 System.out.print(score+" "); 14 } 15 System.out.println(); 16 System.out.println("排序后"); 17 //Arrays.sort(scores);//使用冒泡排序对数组进行降序排列 18 for(int i=0;i<scores.length-1;i++) {//相比较轮数 19 for(int j=0;j<scores.length-i-1;j++) {//比较次数 20 int temp = 0; 21 if(scores[j]<scores[j+1]) {//交换位置 22 temp = scores[j]; 23 scores[j] = scores[j+1]; 24 scores[j+1] = temp; 25 } 26 } 27 }//查看降序排列之后的数组 28 for(int score : scores) { 29 System.out.print(score+" "); 30 } 31 Scanner sc = new Scanner(System.in); 32 System.out.println("请输入学员的成绩:"); 33 int addScore = sc.nextInt(); 34 System.out.println(); 35 //用输入的成绩跟数组中每一个元素比较,当输入的成绩大于某个值时, 36 //这个值的位置,就是输入的成绩应该在的位置,也就是找到输入成绩应该的下标 37 int index = -1; 38 for(int i=0;i<scores.length;i++) { 39 if(addScore>scores[i]) { 40 index = i;//找到输入的成绩应该所在的下标 41 break; 42 } 43 } 44 //从倒数第二个值开始,每一个往后赋值,直到找到下标 45 for(int i = scores.length-2;i>=index;i--) { 46 scores[i+1] = scores[i]; 47 } 48 //给找到的下标赋值为刚刚添加的成绩 49 scores[index] = addScore; 50 System.out.println("插入一个学员的成绩后:"); 51 for(int score : scores) { 52 System.out.print(score+" "); 53 } 54 System.out.println(); 55 } 56 }