jyy524325 发表于 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.compareTo(data) < 0)
    {
     temp = data;
     data = data;
     data = 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);
  }
 }
页: [1]
查看完整版本: 冒泡排序