看到的一个十分有想法的排序算法(有缺陷但值得借鉴)

源码

public class ArraySort implements  Runnable{
    private String num;
    public  ArraySort(int num){
        this.num =num+"";
    }
    public static void main(String[] args){
        int [] nums ={11,3,14,14,1,17,19};
        for (int i=0;i<nums.length;i++){
            new Thread(new ArraySort(nums[i])).start();
        }
    }
 public void  run(){
  try{
         Thread.sleep(Integer.parseInt(num));
         System.out.println(num);
    }catch( Exception e){
      e.printStackTrace();
  }
 }

缺点

如果两个数相等,并且start时间相近,那么唤醒时间先后不确定,这是一个不稳定的排序,要是这个排序中有很多个数组,数组中有很多个数的话,那估计要排很久才能排完!

优点

算法不是基本排序算法(冒泡,二分排序)很有创新精神,可以说是该程序的最大亮点,有很大的优化空间。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值