public class paixu {

 /**
  * @param args
  */
 public void maoPao(int[] number){
  int in,out;
  for(out=number.length-1;out>0;out--){
   for(in=0;in<out;in++){
    if(number[in]>number[in+1]){
     int temp=number[in+1];
     number[in+1]=number[in];
     number[in]=temp;
    }
   }
  }
 }
 public void chaRu(int[] number){
  int in,out;
  for(out=1;out<number.length;out++){
   int temp=number[out];
   in=out;
   while(in>0&&number[in]>temp){
    number[in]=number[in-1];
    in--;
   }
   number[in]=temp;
  }
 }
 public void xuanZe(int[] number){
  int in,out;
  for(in=0;in<number.length-1;in++){
   for(out=in+1;out<number.length;out++){
    if(number[in]>number[out]){
     int temp=number[out];
     number[out]=number[in];
     number[in]=temp;
    }
   }
  }
   
 }
 public void display(int[] number){
  for(int i=0;i<number.length;i++)
   System.out.print(number[i]+" ");
 }
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  paixu p=new paixu();
  int sz[]=new int[]{1,4,5,2,7,6,9,67,87,23,-3,-4,90};
  System.out.print("原排序是:");
  p.display(sz);
  System.out.println("");
  long begin=System.nanoTime();
  p.maoPao(sz);
  long end=System.nanoTime();
  System.out.print("冒泡时间用时:"+(end-begin)+"纳秒");
  p.display(sz);
  System.out.println("");
  begin=System.nanoTime();
  p.chaRu(sz);
  end=System.nanoTime();
  System.out.print("插入时间用时:"+(end-begin)+"纳秒");
  p.display(sz);
  System.out.println("");
  begin=System.nanoTime();
  p.xuanZe(sz);
  end=System.nanoTime();
  System.out.print("选择时间用时:"+(end-begin)+"纳秒");
  p.display(sz);

 }

}

 

 

 

 

运行后的结果是

原排序是:1 4 5 2 7 6 9 67 87 23 -3 -4 90
冒泡时间用时:8940纳秒-4 -3 1 2 4 5 6 7 9 23 67 87 90
插入时间用时:6844纳秒-4 -3 1 2 4 5 6 7 9 23 67 87 90
选择时间用时:8590纳秒-4 -3 1 2 4 5 6 7 9 23 67 87 90

 

经过多次试验 插入排序是用时最少效率最快的

评论
发表评论

您还没有登录,请登录后发表评论

kenter1643
搜索本博客
博客分类
最近加入圈子
存档
最新评论