两个有序数组合并算法
2016-03-02 17:36
113 查看
有两个有序数组A和B,如果把A和B合并起来到C中,具体算法如下:
public static int [] MergeArray(int[] ArrayLeft, int[] ArrayRight)//
{
int length = ArrayLeft.Length + ArrayRight.Length;
int[] ArrayMerge = new int[length];
int i = 0;
int j = 0;
while (i < ArrayLeft.Length && j < ArrayRight.Length)
{
if (ArrayLeft[i] > ArrayRight[j])
{
ArrayMerge[i + j] = ArrayRight[j];
j++;
}
else
{
ArrayMerge[i + j] = ArrayLeft[i];
i++;
}
}
while (i < ArrayLeft.Length)
{
ArrayMerge[i + j] = ArrayLeft[i];
i++;
}
while (j < ArrayRight.Length)
{
ArrayMerge[i + j] = ArrayRight[j];
j++;
}
return ArrayMerge;
}
public static int [] MergeArray(int[] ArrayLeft, int[] ArrayRight)//
{
int length = ArrayLeft.Length + ArrayRight.Length;
int[] ArrayMerge = new int[length];
int i = 0;
int j = 0;
while (i < ArrayLeft.Length && j < ArrayRight.Length)
{
if (ArrayLeft[i] > ArrayRight[j])
{
ArrayMerge[i + j] = ArrayRight[j];
j++;
}
else
{
ArrayMerge[i + j] = ArrayLeft[i];
i++;
}
}
while (i < ArrayLeft.Length)
{
ArrayMerge[i + j] = ArrayLeft[i];
i++;
}
while (j < ArrayRight.Length)
{
ArrayMerge[i + j] = ArrayRight[j];
j++;
}
return ArrayMerge;
}
相关文章推荐
- 实现Fragment左右滑动onFling的手势识别
- javascript 要点总结
- 一次Python爬虫的修改,抓取淘宝MM照片
- 最全IDEA快捷键
- KVC和KVO的使用。
- ThreadLocal
- Action直接访问Servlet
- Android系统性能调优工具介绍
- iOS学习----------AFNetworking(2)request创建和请求参数的序列化
- iOS Https SSL认证 - AFNetWorking
- 设计模式理解(一)创建型——工厂、抽象工厂
- poj2528 Mayor's posters 2011-12-20
- Android移动端网络优化
- anjularjs弹出model(模态框)
- 解决bootstrap和jquey中的.button扩展冲突的问题。
- (十)桥接模式-代码实现
- 自我介绍及注册github和上传文件
- MySQL安装(图文详解)
- poj2777 Count Color 2011-12-20
- opencv查询最大轮廓