您的位置:首页 > 其它

关于用 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. 排序比较是得先将 数据类型 变回 可比较类型
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: