A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 泥娃娃 中级黑马   /  2016-3-20 09:44  /  836 人查看  /  4 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

测试题8
现在有一个有序的数组,要求用户输入一个整数放到数组中还保证这个数组是有序的。例如原数组为@[@1,@3,@5,@7,@9]; 插入8之后为@[@1,@3,@5,@7,@8,@9];(Objective-C)
  1. //初始化一个数组
  2.         NSMutableArray *arr = [NSMutableArray arrayWithObjects:@1,@3,@5,@7,@9, nil];
  3.         
  4.         NSUInteger count = arr.count; // 记录数组的最初长度.
  5.         
  6.         NSLog(@"请输入一个正数:");
  7.         int input;
  8.         scanf("%d",&input);
  9.         // 将int包装成NSNumber对象.
  10.         NSNumber *c = [NSNumber numberWithInt:input];
  11.         for (int i = 0; i < count; i++) {
  12.            if ([c compare:arr[i]]<=0){
  13.                 // 比较c和arr的每一个数,当c小或者等于的时候,就插入到数组和它比较的那个数前面.然后跳出循环.
  14.                 // 当后者大的时候,则和下一个进行比较.
  15.                 [arr insertObject:c atIndex:i];
  16.                 break;
  17.                
  18.            }
  19.         }
  20.         if (arr.count == count) {  // 当可变的数组的长度仍然没有加1,说明,输入数比数组里的任何数都大,则插入到最后面.
  21.             [arr addObject:c];
  22.         }
  23.         NSLog(@"%@",arr);  // 输出数组.

  24.         
  25.         
  26.     }
  27.     return 0;
  28. }
复制代码

4 个回复

正序浏览
OC和C很多都不一样啊
回复 使用道具 举报
这个 不错
回复 使用道具 举报
想问下你是全看完了再开始基础测试的吗

点评

不错啊  发表于 2016-3-22 15:12
回复 使用道具 举报 1 0
您需要登录后才可以回帖 登录 | 加入黑马