#pragma mark - 快速排序法(降序,从大到小)
-(void)quickDownSortWithArray:(NSMutableArray *)aData left:(NSInteger)left right:(NSInteger)right{
if (left >= right) {
return;
}
NSInteger i = left;
NSInteger j = right;
EachModel *key = aData[left];
NSTimeInterval keyTime = [YFBaseView TimeIntervalWithDateString:key.measuredate];
while (i < j) {
EachModel *model_j = aData[j];
NSTimeInterval model_jTime = [YFBaseView TimeIntervalWithDateString:model_j.measuredate];
while (i < j && keyTime >= model_jTime) {
j --;
model_j = aData[j];
model_jTime = [YFBaseView TimeIntervalWithDateString:model_j.measuredate];
}
[aData replaceObjectAtIndex:i withObject:aData[j]];
EachModel *model_i = aData[i];
NSTimeInterval model_iTime = [YFBaseView TimeIntervalWithDateString:model_i.measuredate];
while (i < j && keyTime <= model_iTime) {
i ++;
model_i = aData[i];
model_iTime = [YFBaseView TimeIntervalWithDateString:model_i.measuredate];
}
[aData replaceObjectAtIndex:j withObject:aData[i]];
}
[aData replaceObjectAtIndex:i withObject:key];
[self quickDownSortWithArray:aData left:left right:i-1];
[self quickDownSortWithArray:aData left:i+1 right:right];
}
模型数据降序排列(快排)
最新推荐文章于 2021-03-19 01:10:14 发布