文档章节

冒泡排序

高山流水110
 高山流水110
发布于 2014/06/07 13:22
字数 506
阅读 19
收藏 0

冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到倒数第二个数(倒数第一的位置上已经是最大的),第二趟结束,在倒数第二的位置上得到一个新的最大数(其实在整个数列中是第二大的数)。如此下去,重复以上过程,直至最终完成排序。
public class BubbleTest {
 public static void main(String[] args) {
        int sort[] = {99, 79, 85, 17, 59, 60, 109, 10};
//      最多做n-1趟排序
        for (int i = 0; i < sort.length-1; i++){   
//         对当前无序区间score[0......length-i-1]进行排序
            for(int j = 0 ;j < sort.length-i-1 ; j++){  
//             交换位置,把小的换到前面
             if(sort[j] > sort[j + 1]){    
                    int temp = sort[j];
                    sort[j] = sort[j + 1];
                    sort[j + 1] = temp;
                 }
             }            
             System.out.print("第" + (i + 1) + "次排序结果:");
             for(int n = 0; n < sort.length; n++){
                 System.out.print(sort[n] + "\t");
             }
             System.out.println("");
         }
             System.out.print("最终排序结果   :");
             for(int n = 0; n < sort.length; n++){
                 System.out.print(sort[n] + "\t");
        }
     }
}
第1次排序结果:79 85 17 59 60 99 10 109 
第2次排序结果:79 17 59 60 85 10 99 109 
第3次排序结果:17 59 60 79 10 85 99 109 
第4次排序结果:17 59 60 10 79 85 99 109 
第5次排序结果:17 59 10 60 79 85 99 109 
第6次排序结果:17 10 59 60 79 85 99 109 
第7次排序结果:10 17 59 60 79 85 99 109 
最终排序结果 :10 17 59 60 79 85 99 109

© 著作权归作者所有

共有 人打赏支持
高山流水110
粉丝 2
博文 27
码字总数 15981
作品 0
昌平
程序员
排序算法篇_冒泡排序法

image   冒泡排序法(Bubble Sort)是所有排序算法中最简单、最基本的一种。冒泡排序法的思路就是交换排序,通过相邻数据的交换来达到排序目的。 冒泡排序算法 冒泡排序算法通过多次比较和...

一笑小先生
01/28
0
0
面试 9:Java 玩转冒泡排序

面试 9:用 Java 实现冒泡排序 南尘的朋友们,新的一周好,原本打算继续讲链表考点算法的,这里姑且是卡一段。虽然在我们 Android 开发中,很少涉及到排序算法,因为基本官方都帮我们封装好了...

nanchen2251
07/16
0
0
iOS冒泡排序

冒泡排序算法顾名思义,经过每一次排序算法之后,最大的泡泡(数)会飘到最上面,第二次排序之后,第二大的泡泡(数)飘到倒数第二的位置 ..... 以此类推,直至完成从小到大的排序。 冒泡排序...

zh_iOS
02/06
0
0
数据结构/算法——冒泡排序算法*

最原始的排序方法是只取出最大的,而冒泡排序除了出去最大的,还要将相邻的2个元素的位置互换。 冒泡排序是排序算法里比较简单的算法,即循环n轮,每轮都冒出个最大的,同时相邻的2个元素的位...

cjun1990
2015/10/10
91
0
排序——冒泡排序法

一、冒泡排序法概述 冒泡排序法的基本思想是:对待排序记录关键字从后往前(逆序)进行多遍扫描,当发现相邻两个关键字的次序与排序要求的规则不符时,就将这两个记录进行交换。这样,关键字...

翼动动空
2016/06/05
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

八大包装类型的equals方法

先看其中一个源码 结论:八大包装类型的equals方法都是先判断类型是否相同,不相同则是false,相同则判断值是否相等 注意:包装类型不能直接用==来等值比较,否则编译报错,但是数值的基本类型...

xuklc
40分钟前
1
0
NoSQL , Memcached介绍

什么是NoSQL 非关系型数据库就是NoSQL,关系型数据库代表MySQL 对于关系型数据库来说,是需要把数据存储到库、表、行、字段里,查询的时候根据条件一行一行地去匹配,当量非常大的时候就很耗...

TaoXu
昨天
0
0
890. Find and Replace Pattern - LeetCode

Question 890. Find and Replace Pattern Solution 题目大意:从字符串数组中找到类型匹配的如xyy,xxx 思路: 举例:words = ["abc","deq","mee","aqq","dkd","ccc"], pattern = "abb"abc ......

yysue
昨天
1
0
Linux | Redis

写在前面的话 常言道,不作笔记不读书。在下是深有体会啊,所以,跟我一起做下本节的笔记吧,或许多年以后,你一定会感谢今天的你。 安装 在官网的下载页 Redis Download 直接写了在Linux的安...

冯文议
昨天
2
0
NoSQL-memcached

NoSQL介绍 NoSQL叫非关系型数据库。而关系型数据库代表有MySQL。对于关系型数据库来说,是需要把数据存储到库、表、行、字段里,查询的时候根据条件一行一行地去匹配,当量非常大的时候就很...

ln97
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部