六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 45|回复: 0

冒泡排序

[复制链接]

升级  0.67%

11

主题

11

主题

11

主题

秀才

Rank: 2

积分
51
 楼主| 发表于 2013-2-1 12:36:29 | 显示全部楼层 |阅读模式
 public static void sort(Comparable[] data)
 {
  //数组长度
  int len=data.length;
  for (int i = 0; i < len-1; i++) {
   //临时变量
   Comparable temp=null;
   //交换标志,false表示未交换
   boolean isExchanged=false;
   for (int j = len-1; j >i; j--) {
    //如果data【i】小于data【j-1】,交换
    if (data[j].compareTo(data[j - 1]) < 0)
    {
     temp = data[j];
     data[j] = data[j - 1];
     data[j - 1] = temp;
     // 发生了交换,故将交换标志置为真  
     isExchanged = true;
    }// end if
   }//end for
   // 本趟排序未发生交换,提前终止算法,提高效率
   if (!isExchanged)
   {
    return;
   }
   // end if
  }//end for
 }
 public static void main(String[] args) {
  // 在JDK1.5版本以上,基本数据类型可以自动装箱   // int,double等基本类型的包装类已实现了Comparable接口  
  Comparable[] c = { 4, 9, 23, 1, 45, 27, 5, 2 };
  Arrays.sort(c);
  
//  sort(c);
  for (Comparable data : c) {
   System.out.println(data);
  }
 }
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表