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;
}