>>分享Java编程技术,对《Java面向对象编程》等书籍提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 20623 个阅读者 刷新本主题
 * 贴子主题:  Java 冒泡排序算法 回复文章 点赞(0)  收藏  
作者:mary    发表时间:2020-03-15 16:47:44     消息  查看  搜索  好友  邮件  复制  引用

       冒泡排序算法的一般性策略:搜索整个值列,比较相邻元素,如果两者的相对次序不对,则交换它们,其结果是最大值“想水泡一样”移动到值列的最后一个位置上,这也是它在最终完成排序的值列中合适的位置。然后再次搜索值列,将第二大的值移动至倒数第二个位置上,重复该过程,直至将所有元素移动到正确的位置上。

      下面是两个Java冒泡算法程序:

public class Bubble {

// 冒泡排序函数1
public static void bubbleSort1(Comparable []data){
  
  int position,scan;
  Comparable temp;
  for(position = data.length-1;position>=0;position--){
      for(scan=0;scan<=position-1;scan++){
    if(data[scan].compareTo(data[scan+1])<0){
        temp = data[scan];
        data[scan] = data[scan+1];
        data[scan+1]=temp;
    }
      }
  }
    }
// 冒泡排序函数2
  public static int[] bubbleSort2(int[] m){
    
    int intLenth = m.length;
    /*执行intLenth次*/
    for (int i=0;i<intLenth;i++){
        /*每执行一次,将最小的数排在后面*/
        for (int j=0; j<intLenth-i-1;j++)
        {
            int a = m[j];
            int b = m[j + 1];
            if (a < b)
            {
                m[j] = b;
                m[j + 1] = a;
            }
        }
    }
    return m;
  }
  
   public static void main(String []args){
  
    // 冒泡排序1
    Comparable []c={4,9,23,1,45,27,5,2};
    bubbleSort1(c);
    for(int i=0;i<c.length;i++)
        System.out.println("冒泡排序1:"+c[i]);
    
     System.out.println("*******************");
      
    //  冒泡排序2
    int []b = {4,9,23,1,45,27,5,2};
    int []e = bubbleSort2(b);
    for(int j=0;j<e.length;j++)
        System.out.println("冒泡排序2:"+e[j]);    
    }
}

附件:http://down.51cto.com/data/2350188
----------------------------
原文链接:https://blog.51cto.com/tscjsj/84561
作者:唐大老师

程序猿的技术大观园:www.javathinker.net



[这个贴子最后由 flybird 在 2020-03-19 10:13:44 重新编辑]
  Java面向对象编程-->数据类型
  JavaWeb开发-->Servlet技术详解(Ⅰ)
  JSP与Hibernate开发-->数据库事务的概念和声明
  Java网络编程-->Java反射机制
  精通Spring-->通过Vuex进行状态管理
  Vue3开发-->虚拟DOM和render()函数
  解决javac编译错误: 编码UTF8/GBK的不可映射字符
  Java小白们的练手大餐:100道编程题面试题精讲(最新推出)
   JAVA进阶之IO模型深入解析
  孙卫琴的视频课程的源代码下载
  套接字通信:select、poll、epoll的区别
  BIO模型的缺陷
  深入研究java.lang.ThreadLocal类
  Java注解的定义和使用
  邀请您一起来祝福和祈祷,祈愿疫情早日消除,平安吉祥
  Java多线程volatile详解
  Eclipse使用指南:创建Java项目的步骤
  Java入门实用代码:获取远程文件大小
  Java入门实用代码:格式化时间(SimpleDateFormat)
  通过java.net.URL类连接HTTP服务器时获取响应结果的头部信息
  通过Java读取Excel数据
  更多...
 IPIP: 已设置保密
树形列表:   
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。