Java教程

冒泡排序(java实现)

本文主要是介绍冒泡排序(java实现),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1、动图演示(图片来源https://forestcat.blog.csdn.net/)

 2、实现原理:

①从左到右,相邻元素进行比较,每比较一轮,就会找到序列中最大的一个,放到本轮的最后;
②如果有n个数据进行排序,总共需要比较n-1轮;
③每一轮比较完毕,下一轮的比较就会少一个数据参与。

3、源代码:

 1 public class ArrayDemo {
 2     //用于冒泡排序的函数
 3     public static void maoPao(int[] a) {
 4         //总共比较n-1轮
 5         for(int i=0;i<a.length-1;i++) {
 6             //每轮比前一轮少一个元素参与比较
 7             for(int j=0;j<a.length-i-1;j++) {
 8                 //如果相邻的两个元素比较,前者大与后着
 9                 if(a[j]>a[j+1]) {    
10                     //交换两元素位置
11                     int temp=a[j];
12                     a[j]=a[j+1];
13                     a[j+1]=temp;
14                 }
15             }
16         }
17     }
18     //数组输出函数,以空格隔开每个元素
19     public static void print(int[] a) {
20         for(int i=0;i<a.length;i++) {
21             System.out.print(a[i]+" ");
22         }
23         System.out.println();
24     }
25     //主函数
26     public static void main(String[] args) {
27         int[] array= {9,5,2,4,10,8,16,12};
28         System.out.println("排序前输出数组:");
29         print(array);
30         
31         maoPao(array);        //调用排序函数
32         System.out.println("排序后输出数组:");
33         print(array);
34     }
35 
36 }

4、结果展示:

这篇关于冒泡排序(java实现)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!