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