快速排序


List排序
private List<ISuite> sortSuites(List<ISuite> suites){
    int start = 0;
    int end = suites.size()-1;
    suites = quickSortByList(suites,start,end);
    return suites;
}

public List<ISuite>  quickSortByList(List<ISuite> list , int start,int end) {
    int lo = start;
    int hi = end;
    if (lo >= hi)
        return list;
    //确定指针方向的逻辑变量
    boolean transfer=true;

    while (lo != hi) {
        if (getData(list, hi).getTime() < getData(list, lo).getTime()) {
            //交换
            ISuite temp = list.get(lo);
            list.set(lo, list.get(hi));
            list.set(hi, temp);
            //决定下标移动,还是上标移动
            transfer = (transfer == true) ? false : true;
        }

        //将指针向前或者向后移动
        if(transfer)
            hi--;
        else
            lo++;
    }

    //将数组分开两半,确定每个数字的正确位置
    lo--;
    hi++;
    quickSortByList(list,start,lo);
    quickSortByList(list,hi,end);
    return list;
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值