面试题(数据结构)

面试题(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;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android面试题数据结构篇,如果喜欢请持续关注和推荐。 List,Set,Map的区别 Set是最简单的一种集...
    迷途小码农h阅读 1,104评论 0 9
  • 常用的数据结构 数组、链表、栈、队列、树、图、散列表、堆树:仅有一个根节点,该节点没有前驱节点,其他节点仅有一个前...
    但偏偏雨渐渐丶阅读 372评论 0 0
  • 有时候宽容的惊人,有时候又小气的惊人,笑哭。 你想成为什么样的人,就努力接触什么样的人。 感谢陪伴,感谢遇见,感谢...
    嗨喽呦阅读 49评论 0 0
  • 文,墨染书香 整整一个十月 醉舞落叶痴狂 赏尽红于黄的斑斓 牵手于秋天的缱绻 游漓婆娑淅淅 沉醉墨雨嫣然 十一月 ...
    海洋的笔阅读 329评论 1 2
  • M博士给我注射了一剂药,说是可以治疗抑郁症,但是有副作用。 我毫不犹豫地答应了。 回家后,我感觉自己的抑郁症果然好...
    烟草君的梅子酱阅读 383评论 0 4