如何用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://abwzjs.com/article/jsegg.html