如何用iOS常用算法进行两个有序数组合并

如何用iOS常用算法进行两个有序数组合并,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

目前创新互联已为上千多家的企业提供了网站建设、域名、雅安服务器托管、网站托管、服务器托管、企业网站设计、禹城网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

思路:

常规思路:

先将一个数组作为合并后的数组, 然后遍历第二个数组的每项元素, 一一对比, 直到找到合适的, 就插入进去;

简单思路: 设置数组C, 对比A和B数组的首项元素, 找到最小的, 就放入数组C,依次进行下去.

代码如下:

- (NSArray *)mergeOrderArrayWithFirstArray: (NSMutableArray *)array1 secondArray: (NSMutableArray *)array2 {  // 全为空不处理  if (!array1.count && !array2.count) {    return @[];  }  // 一个为空返回另外一个  if (!array1.count) {    return array2;  }  if (!array2.count) {    return array1;  }  NSMutableArray *endArray = [NSMutableArray array];  while (1) {    if ([array1[0] integerValue] < [array2[0] integerValue]) {      [endArray addObject:array1[0]];      [array1 removeObjectAtIndex:0];    }else {      [endArray addObject:array2[0]];      [array2 removeObjectAtIndex:0];    }    if (!array1.count) {      [endArray addObjectsFromArray:array2];      break;    }    if (!array2.count) {      [endArray addObjectsFromArray:array1];      break;    }  }  return endArray;}

看完上述内容,你们掌握如何用iOS常用算法进行两个有序数组合并的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!


分享题目:如何用iOS常用算法进行两个有序数组合并
URL标题:http://ybzwz.com/article/gcpphc.html