import java.util.Arrays;

public class BubbleSort {

public static void bubbleSort(DataWraper[] data){
        System.out.println("开始排序");
        int arrayLength=data.length;
        for(int i=0;i<arrayLength-1;i++){
            boolean flag=false;
            for(int j=0;j<arrayLength-i-1;j++){
                if(data[j].compareTo(data[j+1])>0){
                    DataWraper tmp=data[j+1];
                    data[j+1]=data[j];
                    data[j]=tmp;
                    flag=true;
                }
            }
            System.out.println(Arrays.toString(data));
            //如果该趟没有发生交换,则表明已处于有序状态
            if(!flag){
                break;
            }
        }
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        DataWraper [] data={
                new DataWraper(21, ""),
                new DataWraper(30, ""),
                new DataWraper(49, ""),
                new DataWraper(30, "*"),
                new DataWraper(16, ""),
                new DataWraper(9, ""),
               
        };
        System.out.println("排序之前:\n"+Arrays.toString(data));
        bubbleSort(data);
        System.out.println("排序之后:\n"+Arrays.toString(data));
    }

}

结果:

排序之前:
[21, 30, 49, 30*, 16, 9]
开始排序
[21, 30, 30*, 16, 9, 49]
[21, 30, 16, 9, 30*, 49]
[21, 16, 9, 30, 30*, 49]
[16, 9, 21, 30, 30*, 49]
[9, 16, 21, 30, 30*, 49]
排序之后:
[9, 16, 21, 30, 30*, 49]

转载于:https://www.cnblogs.com/sunnychuh/archive/2011/07/18/2109442.html

交换排序之冒泡排序(java实现)相关推荐

  1. 【算法之家】——交换排序之冒泡排序与快速排序

    [前言] 冒泡排序和快速排序属于交换排序,快速排序是冒泡排序的一种改进算法.我更觉得快速排序更像是一种特殊的二分查找,从两头开始查找,用法更加的巧妙! [内容] 冒泡排序的基本过程用如下的动态图表示: ...

  2. 经常使用排序算法实现[交换排序之冒泡排序、高速排序]

    相关知识 1. 稳定排序和非稳定排序: 稳定排序算法会按照相等的关键(换言之就是值)维持纪录的相对次序. 假设排序算法是稳定的,就是当有两个有相等关键的纪录R和S,且在原本的列表中R出如今S之前,在排 ...

  3. 数据结构之交换排序:冒泡排序

    交换排序:冒泡排序 思维导图: 冒泡排序的基本思想: 冒泡排序的代码实现: 冒泡排序的性能: 思维导图: 冒泡排序的基本思想: 一次排序找到了最大的元素并放入最后的位置,比较n-1趟就能得到一个有序数 ...

  4. 排序算法之交换排序(冒泡排序、快速排序)

    交换排序(冒泡排序.快速排序) 交换排序 冒泡排序 概念 算法实现 快速排序 概念 算法实现 后续 交换排序 所谓交换,是指根据序列中两个关键字的比较结果来对换这两个记录在排序中的位置. 冒泡排序 概 ...

  5. 冒泡排序----Java代码实现

    冒泡排序是交换排序中一种简单的排序方法.其处理过程为: (1)将整个待排序的记录序列划分成有序区和无序区,初始状态有序区为空,无序区包括所有待排序的记录. (2)对无序区从前向后依次将相邻记录的关键字 ...

  6. 冒泡排序(java实现)

    冒泡排序,就是每次遍历都会把最小(或者最大)的数放在前面.比如要升序{A1,........An}  第一次排序要取出整个数组中最小放在A1的位置,从An开始往前遍历,相邻两个数比较,如果Aj < ...

  7. 冒泡排序java代码_看动画学算法之:排序冒泡排序

    点击上方的蓝字关注我吧 程序那些事 简介 排序可能是所有的算法中最最基础和最最常用的了.排序是一个非常经典的问题,它以一定的顺序对一个数组(或一个列表)中的项进行重新排序. 排序算法有很多种,每个都有 ...

  8. 冒泡排序 java_冒泡排序Java版本

    一.冒泡排序的基本思想: 1.冒泡排序(Bubble Sort)是一种计算机科学领域的较简单的排序算法. 2.它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小.首字母从从Z到 ...

  9. 冒泡排序java代码_数据结构与算法—冒泡排序(Java实现)

    [toc] 冒泡排序 程序代码 package com.uplooking.bigdata.datastructure; import java.util.Arrays; public class B ...

最新文章

  1. 2022-2028年中国喹烯酮行业市场研究及前瞻分析报告
  2. 没有统计学基础可以学python-没错!经典教材《统计学习导论》现在有了 Python版!...
  3. gif透明背景动画_前端基础系列之bmp、jpg、png、gif、svg常用图片格式浅谈(二)...
  4. java组件代码_[java]常用组件
  5. Tips_一级菜单栏实现
  6. C#学习之unsafe
  7. 程序员需要避免的 10 个坏习惯
  8. Silverlight、XAML实现滚动文字
  9. 根据 List 元素中的某个字段大小排序
  10. Spring Cloud Alibaba Seata处理分布式事务及案例实战
  11. 快手分享链接,实战解析无水印视频源码
  12. C语言程序设计谭浩强(第四版)期末复习重点
  13. 固态硬盘故障检测_如何检测固态硬盘是否损坏 - 卡饭网
  14. C++实践课作业-----三国游戏开发
  15. 参数估计之矩估计和极大似然估计概述
  16. Matlab计算状态转移频数,matlab统计频数
  17. 无线便携式脑电-smarting pro
  18. nginx架构(修改版)
  19. Shogun网站上的关于主流机器学习工具包的比较
  20. 市场风险的度量-下行风险最大回撤

热门文章

  1. Spring Cloud 学习笔记(三) 之服务治理模块Spring Cloud 服务发现与消费
  2. 使用JavaScript生成二维码教程-附qrcodejs中文文档
  3. 第89天:HTML5中 访问历史、全屏和网页存储API
  4. 【转载】C++ ,C#数据类型对照
  5. IEEE ISO/IEC简介
  6. 转:10分钟掌握XML、JSON及其解析
  7. 探索移动Web网页编码设计
  8. EJB+JSF开发示例(附源码)
  9. PHP MySQL 相关函数(上)
  10. Harris角点检测和Shi-Tomasi角点检测