java 插入排序和冒泡排序研究

今天公司不是很忙,就回顾了一下以前的冒泡排序和插入排序

 

package chen;
import java.util.Date;
public class Sort {

 /**
  * 冒泡排序
  * @param list
  * @author chenpengye
  */
 public void sort(int[] list){
  long begain=new Date().getTime();
  for(int i=0;i<list.length;i++){
   for(int j=0;j<list.length-i-1;j++){
    if(list[j]>list[j+1]){
     int temp=list[j];
     list[j]=list[j+1];
     list[j+1]=temp;
    }
   }
  }
  long end=new Date().getTime();
  long result=end-begain;
  System.out.println("冒泡排序时间:"+result+" mm");
/*  for(int i=0;i<list.length;i++){
   System.out.println(list[i]);
  }*/
 }
 public static void main(String[] args) {
  int[] list={11,6,2,9,1,4};
  int[] data=new int[100000];
  for(int i=0;i<100;i++){
   data[i]=Math.round((float)Math.random()*1000000);
   //System.out.println(data[i]);
  }
  Sort sort=new Sort();
  //冒泡
  sort.sort(data);
  //插入
  sort.insertSort(data);
 }
 
 /**
  * 插入排序
  * @param data
  * @author chenpengye
  */
 public void insertSort(int[] data){
  
  int i,j;
  long start=new Date().getTime();
  for(i=1;i<data.length;i++){
   
   int temp=data[i];
   for(j=i;j>0&&data[j-1]>temp;j--){
    //System.out.println("before:"+j);
    data[j]=data[j-1];
   }
   //System.out.println("after:"+j);
   data[j]=temp;
  }
  long end=new Date().getTime();
  long res=end-start;
  System.out.println("插入排序时间:"+res+" mm");
/*  for(int m=0;m<data.length;m++){
   System.out.print(data[m]+" ");
  }*/
 }
 
}

 

测试1: 数组个数:10000

冒泡排序时间:296 mm
插入排序时间:0 mm

 

测试1: 数组个数:100000

冒泡排序时间:29406 mm
插入排序时间:16 mm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

炼丹狮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值