合并两个已经排序的数组为另一个数组
来源:互联网 发布:新网域名登录 编辑:程序博客网 时间:2024/06/01 10:44
要求算法在最坏的情况下所用的计算时间为O(n), 且只用到O(1)的辅助空间.
void MergeArray(int *pArray1, int nLen1, int *pArray2, int nLen2, int *pArray)
int i, j, n;
i = j = n = 0;
while (i < nLen1 && j < nLen2) // 循环一直进行到拷贝完某一个数组的元素为止
{
if (pArray1[i] < pArray2[j]) // 拷贝array1的元素
{
pArray[n++] = pArray1[i++];
}
else if (pArray1[i] > pArray2[j]) // 拷贝array2的元素
{
pArray[n++] = pArray2[j++];
}
else // 相等的元素拷贝
{
pArray[n++] = pArray2[j++];
++i;
}
}
if (i == nLen1) // 如果array1已经被拷贝完毕就拷贝array2的元素
{
while (j < nLen2)
pArray[n++] = pArray2[j++];
}
else // 如果array2已经被拷贝完毕就拷贝array1的元素
{
while (i < nLen1)
pArray[n++] = pArray1[i++];
}
}
0 0
- 合并两个已经排序的数组为另一个数组
- 合并两个已经排序的数组
- 合并两个已经排序的数组
- 合并两个排序的数组
- 合并两个排序的数组
- 两个已经排好序的数组合并到一个数组中
- 合并两个排序数组
- 合并两个排序数组
- 合并两个排序数组
- 合并两个排序数组
- 如何合并两个数组为一个数组,并且排序。
- 将两个数组合并为一个数组并排序
- 两个已排序的数组进行合并
- 合并两个已排序的数组
- 合并两个已经排好序的不等长的数组
- 已知m和n是已经排序好的数组,从小到大,现在要合并这两个数组内的数到一个数组,仍然要求是从小到大排序
- 已知m和n是已经排序好的数组,从小到大,现在要合并这两个数组内的数到一个数组,仍然要求是从小到大排序
- 已知m和n是已经排序好的数组,从小到大,现在要合并这两个数组内的数到一个数组,仍然要求是从小到大排序
- 第一次的开始与结果。。无法想想
- IOS中SAX和DOM解析XML<代码演示>
- 万丈高楼平地起,基础很重要
- 如何处理海量数据
- Windows、Ubuntu双系统重装windows系统后grub引导的修复及默认启动项的修改
- 合并两个已经排序的数组为另一个数组
- Pythonic到底是什么玩意儿?
- Git人生
- leetCode解题报告之Insertion Sort List
- 基本类型
- C#之用字符提取做计算器
- poj3255-dijkstra+优先队列(多么痛的领悟)
- 10种排序算法总结
- 分享12款最佳的Bootstrap设计工具