OC的冒泡排序
2015-10-13 21:04
441 查看
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { /* 冒泡排序法的基本思想:(以升序为例)含有n个元素的数组原则上要进行n-1次排序。对于每一躺的排序,从第一个数开始,依次比较前一个数与后一个数的大小。 如果前一个数比后一个数大,则进行交换。这样一轮过后,最大的数将会出现称为最末位的数组元素。第二轮则去掉最后一个数,对前n-1个数再按照上面的步骤找出最 大数,该数将称为倒数第二的数组元素......n-1轮过后,就完成了排序。 */ /*冒泡排序 分析详解: 原始数据: 28, 30, 19, 2, 23 第一趟: 第一次:28, 30, 19, 2, 23 第二次:28, 19, 30, 2, 23 第三次:28, 19, 2, 30, 23 第四次:28, 19, 2, 23, 30 第二趟: 第一次:19, 28, 2, 23, 30 第二次:19, 2, 28, 23, 30 第三次:19, 2, 23, 28, 30 第三趟: 第一次:2, 19, 23, 28, 30 第二次:2, 19, 23, 28, 30 第四趟: 第一次:2, 19, 23, 28, 30 */ //n个元素比较n-1趟 //每趟比较次数 = 数组元素个数 - 趟数 NSMutableArray *numbers = [NSMutableArray arrayWithObjects:@"17",@"28",@"36",@"15",@"39", nil]; NSLog(@"排序前%@",numbers); for (int i = 0; i < 5 - 1; i++) { //比较的躺数 for (int j = 0; j < 5 - 1 - i; j++) { //比较的次数 if ([numbers[j] intValue] > [numbers[j + 1] intValue]) { //这里为升序排序 int temp = [numbers[j] intValue]; numbers[j] = numbers[j + 1]; //OC中的数组只能存储对象,所以这里转换成string对象 numbers[j + 1] = [NSString stringWithFormat:@"%d",temp]; } } } NSLog(@"排序后%@",numbers); } return 0; }
最终输出结果:
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 冒泡排序
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- C#冒泡法排序算法实例分析
- Java数据结构及算法实例:冒泡排序 Bubble Sort
- c++冒泡排序示例分享
- Java中的数组排序方式(快速排序、冒泡排序、选择排序)
- js判断客户端是iOS还是Android等移动终端的方法
- IOS开发环境windows化攻略
- python冒泡排序算法的实现代码
- c语言实现冒泡排序、希尔排序等多种算法示例
- Objective-C的内省(Introspection)用法小结
- c#冒泡排序示例分享
- .net平台推送ios消息的实现方法
- 浅谈php冒泡排序