冒泡,选择,快速,二叉树排序速度比较

 冒泡排序,选择排序,快速排序,二叉树排序详细代码见博主其他文章。

public class Main {
	public static void main(String[] args) {
             int[] data1 = new int[40000];
	     int[] data2 = new int[40000];
	     int[] data3 = new int[40000];
	     int[] data4=new int[40000];
	     int[] data5=new int[40000];
	     int[] data6=new int[40000];
	     for (int i = 0; i < 40000; i++) 
	     {
	    	 int randomNum = (int)(Math.random() * 40000);
	         data1[i] = randomNum;
	         data2[i] = randomNum;
	         data3[i] = randomNum;
	         data4[i] = randomNum;
	         data5[i] = randomNum;
	         data6[i] = randomNum;
        }
	    
	    //接下来比较冒泡排序,选择排序,快速排序与二叉树排序的速度
	     long start1 = System.currentTimeMillis();
	     data1=Maopao.maopao(data1);
	     long end1 = System.currentTimeMillis();
	     System.out.println("冒泡排序需要时间:" + (end1 - start1) + "毫秒");
	     
	     _selectsort s=new _selectsort();
	     long start2 = System.currentTimeMillis();
	     data2=s.selectsort(data2);
	     long end2 = System.currentTimeMillis();
	     System.out.println("选择排序需要时间:" + (end2 - start2) + "毫秒");
	     
	     quick_sort test2=new quick_sort();
	     long start3 = System.currentTimeMillis();
	     data3=test2.quicksort(data3);
	     long end3 = System.currentTimeMillis();
	     System.out.println("快速排序需要时间:" + (end3 - start3) + "毫秒");
	     
	     long start4 = System.currentTimeMillis();
	     Node roots = new Node();
	     for (int number : data4)
	     {
	    	 roots.add(number);
	     }
	     List<Object> list=new ArrayList<>();
	     list=roots.values();
	     long end4 = System.currentTimeMillis();
	     for(int i=0;i<40000;i++)
	     {
	    	 data4[i]=(int)list.get(i);
	     }
	     System.out.println("二叉树排序需要时间:" + (end4 - start4) + "毫秒");
	     
	     long start5 = System.currentTimeMillis();
	     Arrays.sort(data5);
	     long end5 = System.currentTimeMillis();
	     System.out.println("eclipse自带sort需要时间:" + (end5 - start5) + "毫秒");
	     
	     long start6 = System.currentTimeMillis();
	     data6=mergesort.my_mergesort(data6, 40000);
	     long end6 = System.currentTimeMillis();
	     System.out.println("归并排序需要时间:" + (end6 - start6) + "毫秒");
	     
	     System.out.println(Arrays.equals(data1,data2));
	     System.out.println(Arrays.equals(data2,data3));
	     System.out.println(Arrays.equals(data3,data4));
	     System.out.println(Arrays.equals(data4,data5));
	     System.out.println(Arrays.equals(data5,data6));

	}

}

 

  

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值