冒泡排序

Posted zhangchuanfeng1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了冒泡排序相关的知识,希望对你有一定的参考价值。

冒泡排序:
 
技术分享图片
 
 
 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 }

 

技术分享图片
技术分享图片

以上是关于冒泡排序的主要内容,如果未能解决你的问题,请参考以下文章

java冒泡排序法代码

python代码实现鸡尾酒排序(双向冒泡排序)

冒泡排序python代码

视频+图文+动画详解冒泡排序

交换排序(冒泡排序快速排序的算法思想及代码实现)

C语言冒泡排序。