9.11排序与查找(一)——给定两个排序后的数组A和B,其中A的末端有足够的缓冲空间容纳B。将B合并入A并排序
2015-08-20 17:42
495 查看
/**
* 功能:给定两个排序后的数组A和B,其中A的末端有足够的缓冲空间容纳B。将B合并入A并排序。
*/
* 功能:给定两个排序后的数组A和B,其中A的末端有足够的缓冲空间容纳B。将B合并入A并排序。
*/
/** * 问题:如果将元素插入数组A的前端,就必须将原有的元素向后移动,以腾出空间。 * 思路:将元素插入数组A的末端。 * * 注意:在处理完B的元素之后,不需要复制A的剩余元素,因为那些元素原本就在A中。 * @param a * @param b * @param lastA * @param lastB */ public static void merge(int[] a,int[] b,int lastA,int lastB){ int indexA=lastA-1; int indexB=lastB-1; int indexMerged=lastA+lastB-1; while(indexA>=0&&indexB>=0){ if(a[indexA]>b[indexB]){ a[indexMerged]=a[indexA]; indexMerged--; indexA--; }else{ a[indexMerged]=a[indexB]; indexMerged--; indexB--; } } while(indexB>=0){ a[indexMerged]=a[indexB]; indexMerged--; indexB--; } }
相关文章推荐
- ZWEI (zwe)题解
- 百度图片爬虫
- 简单实用SQL脚本
- 在Ubuntu 14.04 64bit上安装StarUML 2.5版本
- centos7 安装 opencv3.0
- Android Studio如何查看、更改JDK和SDK的路径?
- NSFileManager
- mvc注解验证
- HDOJ 确定比赛名次 (拓扑排序)
- 转载于山边小溪的博客--编写跨浏览器兼容的 CSS 代码的金科玉律
- 混合背包 hdu5410 CRB and His Birthday
- 多线程还是多进程的区别
- Jason总结
- 嵌入式开发之mipi干货
- 谷歌/360 插件开发
- 转载于山边小溪的博客--编写跨浏览器兼容的 CSS 代码的金科玉律
- ACM学习历程—HDU5410 CRB and His Birthday(动态规划)
- 编写高质量代码改善C#程序的157个建议——建议101:使用扩展方法,向现有类型“添加”方法
- HDU 5414 CRB and String (字符串,模拟)
- MySQL存储引擎MyISAM与InnoDB的优劣