关于用 OC 来冒泡排序的注意地方
2015-12-26 17:21
337 查看
<span style="font-size:18px;"> // 先创建 一个随机数组 // 数组必须为 可变数组,这样才能往里加 元素 NSMutableArray * array = [NSMutableArray array]; for (NSInteger i = 0; i < 20; i++) { // OC 数组 只能装 对象 , 故先将 NSInteger 类型 转变成 NSNumber 类型 NSNumber * number = [NSNumber numberWithInteger:arc4random() % (100 - 0 + 1) + 0 ]; [array addObject:number]; } // 验证 是否 产生要求数组 NSLog(@"%@",array); // 开始 排序 for (int i = 0 ; i < [array count] - 1; i++) { for (int j = 0; j < [array count] - 1 - i; j++) { // 注意要先将 NSNumber 类型 转成 NSInteger 类型,才能比较 if ([[array objectAtIndex:j] integerValue] > [[array objectAtIndex:j + 1] integerValue]) { // 可变数组 特有的 交换函数 [array exchangeObjectAtIndex:j withObjectAtIndex:(j + 1)]; } } } // 检验是否排序 NSLog(@"%@",array);</span>
注意点:
1. OC 中,数组只可以装 对象
2. 排序比较是得先将 数据类型 变回 可比较类型
相关文章推荐
- Swift 字符串
- mysql找回密码
- Objective-C 内存管理
- Fragment的生命周期
- [Android教程] Android 牛逼哄哄的快速开发框架AndroidOne,秒杀最火的Xutils
- jQuery实现全选、全不选和反选,没有只能选一次的bug
- setInterval设置停止的次数和时间
- GIT_1
- android动画之帧动画(drawable animation)和补间动画(view animation)
- 如何集成inmobi到ios
- UVA 11609 Teams 组合数学+快速幂
- c++中vector的用法详解
- Core Data
- Swift 数据类型转换
- 迷宫问题
- 读书笔记--python数据可视化--003_读取定宽数据文件
- 关键字总结
- c#串口完全接收程序
- makefile多级目录的编译
- MySQL服务在windows系统中修改Data路径后无法启动问题解决