算法3-有序数组合并

2019-02-12  本文已影响0人  李永开
        NSArray *arr1 = @[@1,@3,@5];
        NSArray *arr2 = @[@2,@3,@4,@6];
        
        int i = 0;//记录arr1遍历到哪个下标了
        int j = 0;//记录arr2遍历到哪个下标了
        
        NSMutableArray *muArr = [NSMutableArray array];
        while (i + j <= arr1.count + arr2.count - 2) {
            
            if([arr1[i] integerValue] < [arr2[j] integerValue])
            {
                [muArr addObject:arr1[i]];
                i ++;
            }
            else if([arr1[i] integerValue] > [arr2[j]integerValue]){
                [muArr addObject:arr2[j]];
                j ++;
            }
            else
            {
                [muArr addObject:arr1[i]];
                [muArr addObject:arr2[j]];
                i ++;
                j ++;
            }
        }
        NSLog(@"%@",muArr);

打印结果:
(
1,
2,
3,
3,
4,
5
)

上一篇 下一篇

猜你喜欢

热点阅读