http://oj.leetcode.com/problems/merge-sorted-array/

两个有序数组A和B的归并排序,将结果存到A中。因为已知两数组长度且A的数组足够大,所以倒着处理,如果正着的话,会有好多往后挪的操作。

#include <iostream>
using namespace std; class Solution {
public:
void merge(int A[], int m, int B[], int n) {
if(m<|| n<)
return;
if(n == )
return ;
if(m ==)
{
for(int i = ;i<n;i++)
A[i] = B[i];
}
int a_pointer = m -;
int b_pointer = n-;
int c_pointer = m+n-;
while(a_pointer!=- && b_pointer!= -)
{
while(a_pointer != - &&b_pointer!= - && A[a_pointer]>=B[b_pointer])
{
A[c_pointer] = A[a_pointer];
c_pointer--;
a_pointer--;
}
while(a_pointer!= - && b_pointer != - &&A[a_pointer]<B[b_pointer] )
{
A[c_pointer] = B[b_pointer];
c_pointer--;
b_pointer--;
}
}
if(a_pointer == - && c_pointer!= -)
for(int i = ;i<=c_pointer;i++)
A[i] = B[i];
for(int i = ;i<=m+n-;i++)
cout<<A[i]<<endl;
}
}; int main()
{
Solution myS;
int A[] = {,,,,,,};
int B[] = {,,,,,};
myS.merge(A,,B,);
return ;
}

最新文章

  1. 公司内部培训SQL Server传统索引结构PPT分享
  2. 简单而又复杂的jsp(小知识)
  3. Tomcat部署记事
  4. Python-时间操作
  5. c#缓存 笔记
  6. Android:什么是Holo?【Translated By KillerLegend】
  7. WCF入门教程系列四
  8. 【转】DM8168添加DSP音频编解码算法--集成现有voice或audio codec
  9. ie 浏览器文本输入框和密码输入框的默认样式
  10. redis简单主从复制
  11. Python爬虫入门教程 62-100 30岁了,想找点文献提高自己,还被反爬了,Python搞起,反爬第2篇
  12. 【微信小程序项目实践总结】30分钟从陌生到熟悉
  13. windows 10下sublime text3环境的搭建以及配置python开发环境
  14. Unity网格合并_材质合并
  15. ElasticSearch 2 (1) - Getting Start
  16. 重识linux-仅执行一次的工作调动at
  17. 使用 IntraWeb (25) - 基本控件之 TIWRegion
  18. Win7-64位安装TensorFlow-CPU
  19. Tomcat启动慢原因之二 he APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path
  20. 6-[多线程]-互斥锁、GIL、死锁、递归锁、信号量

热门文章

  1. 【主席树 启发式合并】bzoj3123: [Sdoi2013]森林
  2. NOIP2018 - 一些板子
  3. 【动态规划】bzoj1939: [Croatian2010] Zuma
  4. [BZOJ] 1563: [NOI2009]诗人小G
  5. 装逼图片旋转合成demo
  6. 《linux设备驱动开发详解》笔记——8阻塞与非阻塞IO
  7. Linux学习-进程管理
  8. python中子进程不支持input()函数输入
  9. docker容器utf-8编码问题
  10. # Linux 命令学习记录