Objective-C冒泡排序
NSMutableArray *sourceArray = [NSMutableArray arrayWithObjects:@(3), @(5), @(7), @(9), @(2), @(4), @(8), @(6), nil];
//冒泡排序
for (int i = 0; i < sourceArray.count - 1; i++)
{
for (int j = 0; j < sourceArray.count - 1 - i; j++)
{
NSInteger prevIdx = j;
NSInteger nextIdx = j + 1;
NSNumber* prevNum = [sourceArray objectAtIndex:prevIdx];
NSNumber* nextNum = [sourceArray objectAtIndex:nextIdx];
if (prevNum.intValue > nextNum.intValue)
{
[sourceArray exchangeObjectAtIndex:prevIdx withObjectAtIndex:nextIdx];
}
}
}
//验证结果
[sourceArray enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
NSLog(@"%d:%@", idx, obj);
}];
posted on 2016-05-11 17:00 piaoliuping 阅读(139) 评论(0) 收藏 举报
浙公网安备 33010602011771号