美文网首页
面试题(数据结构)

面试题(数据结构)

作者: CoderWxd | 来源:发表于2020-04-22 12:24 被阅读0次

面试题(1).假设两个数组为A和B,A和B都是从小到大的顺序进行排列,生成一个有序的数组

解析:
1.我们可以直接比较两个数组的首元素,哪个小就把这个小元素放入可变数组。
2.把小元素所在的数组中的这个元素删除。
3.继续比较两个数组中的首元素,直到有一个数组为空。那么就停止进行比较。把另外一个不空的数组元素全部放入可变数组中即可。

//实例化数组 A
NSMutableArray *arrA = [NSMutableArray arrayWithArray:@[@1,@3,@5,@7,@9,@11]];
//实例化数组 B
NSMutableArray *arrB = [NSMutableArray arrayWithArray:@[@8,@10,@17,@20,@22,@35]];
NSMutableArray *allArray = [self sortWithArrayA:arrA arrayB:arrB];
NSLog(@"%@",allArray);


- (NSMutableArray *)sortWithArrayA:(NSMutableArray *)arrA arrayB:(NSMutableArray *)arrB{

  NSMutableArray *marr = [NSMutableArray array];

  for(int i = 0; i< 1000; i++){
    
    NSNumber *a = arrA[0];
    NSNumber *b = arrB[0];
    if ([a intValue] < [b intValue]){
        [marr addObject:arrA[0]];
        [arrA removeObject:arrA[0]];
    }else{
        [marr addObject:arrB[0]];
        [arrB removeObject:arrB[0]];
    }

    NSLog(@"已经循环了--->>%d次",i);

    if (arrA.count == 0){
        [marr addObjectsFromArray:arrB];
        NSLog(@"新数组--->>%@",marr);
        break;
    }
    
    if (arrB.count == 0){
        [marr addObjectsFromArray:arrA];
        NSLog(@"新数组---->> %@",marr);
        break;
    }
}
    return marr;
}

相关文章

网友评论

      本文标题:面试题(数据结构)

      本文链接:https://www.haomeiwen.com/subject/nfxiihtx.html