码迷,mamicode.com
首页 > 编程语言 > 详细

算法(1)——Java冒泡算法

时间:2018-03-12 00:00:31      阅读:245      评论:0      收藏:0      [点我收藏+]

标签:冒泡算法   标记   gpo   java   for   分享   完成   数字   system   

Java冒泡算法算是最常见的算法之一了。那么什么是冒泡算法呢?如下图所示(图片来自网络):

其实可以看到,第一遍的遍历过程中,首先比较第一对数字,比较交换完成后第二个数字一定是比较大的,接下来比较第二对,同样进行比较交换,那么这个时候第三个数一定是较大的,这样所有的数对比较完成之后,最大的数字就会冒泡到数组的最右侧。接下来第二轮就可以把第二大的数放在右侧数第二个位置上,以此类推...当遍历一遍没有可以交换的数字的时候,就说明这个队列已经是有序的了。

技术分享图片

 1 public static void main(String[] args) {
 2         int[] arr = {11, 13, 10, 34, 31, 24, 15, 16, 26, 9, 16, 4992, 356};
 3         bubbleSort(arr);//排序完成,数字为9,10,11,13,15,16,16,24,26,31,34,356,4992,
 4     }
 5 
 6 
 7     public static void bubbleSort(int[] arr) {
 8         for (int i = 0; i < arr.length - 1; i++) {
 9             boolean flag = true;//设定一个标记,若为true,则表示排序已然完成。
10             for (int j = 0; j < arr.length - 1 - i; j++) {
11                 if (arr[j] > arr[j + 1]) {
12                     int temp = arr[j];
13                     arr[j] = arr[j+1];
14                     arr[j+1] = temp;
15                     flag = false;
16                 }
17             }
18             if (flag) {
19                 System.out.print("排序完成,数字为");
20                 for (int i1 : arr) {
21                     System.out.print(i1+",");
22                 }
23                 break;
24             }
25         }
26    
27     }

 

算法(1)——Java冒泡算法

标签:冒泡算法   标记   gpo   java   for   分享   完成   数字   system   

原文地址:https://www.cnblogs.com/leemumu/p/8546964.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!