问题:给定两个有序数组A和B,把B合并到A中,保持结果有序
OC算法实现:
//
// MergeSortedArray.h
// Algorithm
//
// Created by han shuai on 2016/9/27.
// Copyright © 2016年 han shuai. All rights reserved.
//
/**
19
*/
#import <Foundation/Foundation.h>
@interface MergeSortedArray : NSObject
- (NSMutableArray *)mergeSortedArray:(NSMutableArray *)a b:(NSMutableArray *)b;
@end
//
// MergeSortedArray.m
// Algorithm
//
// Created by han shuai on 2016/9/27.
// Copyright © 2016年 han shuai. All rights reserved.
//
#import "MergeSortedArray.h"
@implementation MergeSortedArray
- (NSMutableArray *)mergeSortedArray:(NSMutableArray *)a b:(NSMutableArray *)b
{
NSInteger m = a.count;
NSInteger n = b.count;
for (int i = 0; i < n; i++) {
[a addObject:[NSNumber numberWithInt:0]];
}
while (n>0) {
if (m <= 0 || [a[m-1] intValue]<[b[n-1] intValue]) {
a[m+n-1] = b[--n];
}
else
{
a[m+n-1] = a[--m];
}
}
return a;
}
@end