java例题_28 冒泡排序

Posted scwyqin

tags:

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

 1 /*28 【程序 28 排序算法】 
 2 题目:对 10 个数进行排序 
 3 程序分析:可以利用选择法,即从后 9 个比较过程中,选择一个最小的与第一个元素交换, 下次类推,
 4 即用第二个元素与后 8 个进行比较,并进行交换。 
 5 */
 6 /*分析
 7  * 冒泡排序法:
 8  * 利用数组得到键盘上的一组数据并保存,再通过冒泡排序法得到新的数组
 9  * 使用两层for循环,外面一层判断排序排到哪儿了,里面一层用于遍历剩下需要排序的数
10  * 
11  * */
12 
13 package homework;
14 
15 import java.util.Scanner;
16 
17 public class _28 {
18 
19     public static void main(String[] args) {
20         // 从键盘得到一个包含10个整数的数组
21         System.out.println("请输入一个包含10个整数的数组:");
22         Scanner sc = new Scanner(System.in);
23         int[] a = new int[10];
24         // 利用for循环将数字存入数组a[]中
25         for (int i = 0; i < a.length; i++) {
26             a[i] = sc.nextInt();
27         }
28 //        //测试数组的数据 12 123 11 2 4 1 54 65 23 10
29 //        for (int i = 0; i < a.length; i++) {
30 //            System.out.print(a[i]+" ");
31 //        }
32 
33         int t; // 声明一个中间量,用于交换位置是临时储存
34         // 第一层,记录排序排到哪儿了
35         for (int i = 0; i < a.length; i++) {
36 
37             // 第二层,遍历还需要排序的数
38             for (int j = 0; j < (a.length - 1); j++) { // a.length-1是因为判断大小时的需要(下面加1了)
39                 if (a[j] > a[j+1]) { // 有小到大排列,若是由大到小则是<
40                     // 交换位置
41                     t = a[j];
42                     a[j] = a[j+1];
43                     a[j+1] = t;
44                 }
45 //                System.out.println(i+" "+j);   //测试
46             }
47 
48         }
49         for (int i = 0; i < a.length; i++) {
50             System.out.print(a[i] + " ");
51         }
52 
53     }
54 
55 }

 

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

java数组算法例题(冒泡排序,选择排序,找最大值最小值,添加删除元素等)

java数组算法例题(冒泡排序,选择排序,找最大值最小值,添加删除元素等)

冒泡排序法

Java_冒泡排序

Java_冒泡排序

java常见数据算法_冒泡排序