iOS开发中使用算法之冒泡法
2017-04-03 22:42
197 查看
冒泡法是编程中知名度很高的算法,此算法能将一组无序的数据变成一组有序的数据。
冒泡法思路:如果是将无序的数据变成一组升序的数据,需要使用两层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;
}
冒泡法思路:如果是将无序的数据变成一组升序的数据,需要使用两层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;
}
相关文章推荐
- iOS开发中使用算法之二分搜索算法
- ArcGIS API for iOS开发教程三 使用MapView
- 在iOS开发中如何高效使用静态库
- Unity3d使用蓝牙(bluetooth)开发IOS点对点网络游戏
- IOS 入门开发之创建标题栏UINavigationBar的使用(二)
- [iOS开发必备技巧之]使用IB定制UITableViewCell
- 非阻塞算法思想在关系数据库应用程序开发中的使用
- IOS 入门开发之分页栏TabBar的使用(四)
- 【iOS-Cocos2d游戏开发之十二】浅析使用C++/C/OC进行iOS游戏混编出现“failed with exit”问题与小结;
- 【Cocos2d游戏开发之十二】浅析使用C++/C/OC进行iOS游戏混编出现“failed with exit”问题与小结;
- 使用ArcGIS API for ios开发时的一些经验与问题
- IOS开发中委托代理(degegate)的理解和使用示例
- IOS开发里面使用RGB颜色
- IOS开发之──传感器使用
- 【iOS-Cocos2d游戏开发之十二】浅析使用C++/C/OC进行iOS游戏混编出现“failed with exit”问题与小结;
- ArcGIS API for iOS开发教程四 使用GraphicsLayer
- IOS开发笔记-定时器的使用
- 在Visual Studio中使用MonoTouch开发iOS应用程序(上):环境配置
- iOS开发:xcode4中使用静态库和工作区
- IOS 入门开发之分页栏TableBar的使用(四)