Java中的冒泡排序

作者: ___刘辉良 | 来源:发表于2016-05-15 23:24 被阅读90次
//产生随机数的工具类
public class RandomUtils {
 
 public static final int MAX_INTEGER=10000 ;

 public  static List<Integer> factoryRandom(){
  List<Integer> datas=new ArrayList<>();
  Random random=new Random(); 
  for(int i=0;i<MAX_INTEGER;i++){
   datas.add(random.nextInt(1000));
  }
  return datas;
 }

}



/**
 * 
 * 
 * 冒泡排序
 * 
 * 
 * 冒泡排序核心算法:
 *   对相连的两个数,进行排序。
 *   每一次排序后,会产生一个结果因子。(在遍历的时候,不需要对,结果因子进行对比)
 * 
 * **/

public class Hubble {
 
 static List<Integer> datas=RandomUtils.factoryRandom();

 public static void main(String[] args) {
  hubbleAgo();
  double timeAge=System.currentTimeMillis();
  hubbleAfter();
  double timeAfter=System.currentTimeMillis();
  System.out.println("冒泡排序:排"+datas.size()+"个数:需要:"+(timeAfter-timeAge));
  
 }
 
 
 public static void hubbleAgo(){
  
  StringBuffer buffer=new StringBuffer();
  for(int i=0;i<datas.size();i++){
   buffer.append(datas.get(i)+"、");
  }
  System.out.println("排序前:"+buffer.toString());
 }
 
 public static void hubbleAfter(){
  for(int i=0;i<datas.size();i++){
   for(int j=0;j<datas.size()-i-1;j++){
    //if(j+1>=datas.size()) break;
    int chaNum=0;
    if(datas.get(j)<datas.get(j+1)){
     chaNum=datas.get(j);
     datas.set(j, datas.get(j+1));
     datas.set(j+1,chaNum);
    }
   }
  }
  StringBuffer buffer=new StringBuffer();
  for(int i=0;i<datas.size();i++){
   buffer.append(datas.get(i)+"、");
  }
  System.out.println("排序后:"+buffer.toString());
  
 }
 
}

只是因为在人群中 多看了你一眼
再也没能忘掉你容颜
梦想着偶然能有一天再相见
从此我开始孤单思念
想你时 你在天边
想你时 你在眼前
想你时 你在脑海
想你时 你在心田
宁愿相信我们前世有约
今生的爱情故事 不会再改变
宁愿用这一生等你发现
我一直在你身旁 从未走远

相关文章

网友评论

    本文标题:Java中的冒泡排序

    本文链接:https://www.haomeiwen.com/subject/gntbrttx.html