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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© songzengyu 中级黑马   /  2016-2-21 13:30  /  963 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

现在有一个有序的数组,要求用户输入一个整数放到数组中还保证这个数组是有序的。例如原数组为@[@1,@3,@5,@7,@9]; 插入8之后为@[@1,@3,@5,@7,@8,@9];(Objective-C)

int main(int argc, const char * argv[]) {
    NSMutableArray *array = [NSMutableArray arrayWithArray:@[@1,@3,@5,@7,@9]];
    @autoreleasepool {
      
        NSUInteger count = array.count;
        NSLog(@"请输入一个整数");
        int input;
        scanf("%d",&input);
        
        NSNumber *inputNumber = [NSNumber numberWithInt:input];
        
        for (int i =0; i<count; i++) {
            if ([inputNumber compare:array[i]]<=0) {
               
                [array insertObject:inputNumber atIndex:i];// 比较输入的数和array的每一个数,当inputnumber小或者等于的时候,就插入到数组中和它比较的那个数前面.然后跳出循环.
                break;
            }
            
        }
        if (array.count == count) {
            [array addObject:inputNumber];//如果直到最后一个还没有找到小于inputnumber的数,就将inputnumber插入到数组最后
        }
        
        NSLog(@"%@",array);  // 输出数组.
    }
    return 0;
    }

1 个回复

倒序浏览
谢谢,分享,很不错
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马