冒泡排序
原理:
1.比较相邻的两个数,如果第一个比第二个大,就交换他们的位置
2.对每一对相邻的元素做同样的工作,从开始第一对,到最后一对,这样子,最后的元素应该是最大的值
3.针对所有的元素重复以上步骤,除了最后一个
4.持续重复上面步骤,知道没有任何一对数字需要交换
OC实现
- (void)sortData {
for (int i = 0; i < self.array.count-1; i++) {
for (int j = 0; j < self.array.count-1-i; j++) {
NSInteger left = [self.array[j] integerValue];
NSInteger right = [self.array[j+1] integerValue];
if (left > right) {
[self.array exchangeObjectAtIndex:j withObjectAtIndex:j+1];
}
}
}
}
冒泡排序的最坏时间复杂度为:O(n²)
网友评论