#pragma mark - 快速排序法(升序,从小到大)
-(void)quickUpSortWithArray:(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 quickUpSortWithArray:aData left:left right:i-1];
[self quickUpSortWithArray:aData left:i+1 right:right];
}
模型数据升序排列(快排)
最新推荐文章于 2023-06-30 13:58:42 发布