冒泡排序
2017-12-14 本文已影响13人
无题007
冒泡排序也是通过两重循环,外层循环和选择排序一样,通过n-1次找最小(或最大)值,只是内循环的比较 实现方式不同。它是通过n-1次找最大值的方式实现排序的,但是找最大值的方法也是不同于选择排序的:
冒泡排序找最大值的方式是从第一个元素开始,每相邻的两个元素依次比较,如果前面的元素小于后面的元素,则两者交换。一趟排序后,最大的元素就被放到了最后的位置。剩余的n-1个元素重复该过程。
代码如下:
- (void)bubbleSort{
for(NSInteger i = 0; i < _array.count-1; i ++ ){
for(NSInteger j = 0; j < _array.count - i - 1; j ++){
if(_array[j] > _array[j+1]){
[_array exchangeObjectAtIndex:j withObjectAtIndex:j+1];
}
}
}
}