冒泡法是编程中知名度很高的算法,此算法能将一组无序的数据变成一组有序的数据。
冒泡法思路:如果是将无序的数据变成一组升序的数据,需要使用两层for循环。第一层循环是从第一个数据(我们假设为A)开始,第二层循环是从相对于第一层循环的第一个数据的下一个数据(我们假设为B)开始。然后比较A、B两个数据,如果A数据的顺序高于B那么就将A、B两个数据的位置交换。注意:在交换A、B两个数据的时候需要一个中间变量来暂时存储A、B两个数据中的一个,这样才能实现A、B两个数据的交换。
OC代码:
- (NSArray *)bubleSort:(NSArray *)arr{
NSMutableArray * array = [NSMutableArrayarrayWithArray:arr];
for (int i =0; i < array.count; i ++) {
for (int j = i +1; j < array.count; j ++) {
if ([array[i]intValue] > [array[j] intValue]) {
NSString * temp;
temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
NSLog(@"%@", array);
}
return array;
}