面试的时候很多公司会要求写一个冒泡排序算法,于是用OC写了一个,代码如下所示

需要注意的事项:oc数组只能存放oc对象,因此遍历数组输出的时候,记得通过NSString对象转换成intValue

   #import <Foundation/Foundation.h>

   void bubleSort(NSMutableArray *numbers){
int i,j,count= (int)[numbers count]; for (i = 0; i < count; i++) {
for (j = i+1; j<count; j++) {
int a = [[numbers objectAtIndex:i] intValue];
int b = [[numbers objectAtIndex:j] intValue]; if (a>b) { //从小到大
[numbers replaceObjectAtIndex:i withObject:[NSString stringWithFormat:@"%d",b]];
[numbers replaceObjectAtIndex:j withObject:[NSString stringWithFormat:@"%d",a]];
}
}
} for (NSString *num in numbers) {
NSLog(@"%d",[num intValue]);
}
} int main(int argc, const char * argv[]) {
@autoreleasepool {
NSMutableArray *p = [[NSMutableArray alloc] initWithObjects:@"3",@"6",@"4",@"5",@"1",@"2", nil];
bubleSort(p);
}
return 0;
}

最新文章

  1. 使用Design包实现QQ动画侧滑效果和滑动菜单导航
  2. 千万级高并发负载均衡软件HAproxy
  3. java 枚举
  4. C语言连接SQLSERVER数据库
  5. [CTSC 2012][BZOJ 2806]Cheat
  6. Fortran编译多个文件(转载)
  7. silverlight 跳转指定的aspx页面
  8. (转)JSP中四种传递参数的方法:
  9. 【转】setAnimation和startAnimation区别
  10. 动态设置Head的Title、Descrption
  11. hive大数据倾斜总结
  12. Sublime Text 2快捷键大全
  13. servlet3.0注解loadOnStartup不起作用解决方案
  14. yii2.0 curd操作
  15. IIS服务器被配置为不列出此目录的内容
  16. ubuntu 16.04 编译安装 trl8291cu系列 无线网卡驱动
  17. Arch Linux pacman 与其他发行版操作比较
  18. c# out ref parames的用法
  19. vue2.0插件
  20. Beta阶段——Scrum 冲刺博客第二天

热门文章

  1. Java-MyBatis:MyBatis 3 动态 SQL
  2. Git 学习笔记(一)
  3. BZOJ 3796 后缀数组+KMP
  4. JavaScript系列--浅析原型链与继承
  5. Android 网络状态变化的监听
  6. ___Manacher(线性回文子串处理算法)
  7. Dynamic programming language
  8. to_string函数(将数字转换成字符串)
  9. 通过CSS样式隐藏百度版权标志
  10. (转载)使用Maven构建多模块项目