冒泡排序

冒泡排序:
 
 
 
 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 }

原文地址:https://www.cnblogs.com/Zhangchuanfeng1/p/10240412.html