首页 > 其他 > 详细

[leetCode]Merge Sorted Array

时间:2014-03-19 04:30:59      阅读:399      评论:0      收藏:0      [点我收藏+]

并归排序的思想,新get一种地址取法~之前怎么想不到。。

bubuko.com,布布扣
 1 #include <iostream>
 2 #include <string.h>
 3 using namespace std;
 4 
 5 class Solution {
 6 public:
 7     void merge(int A[], int m, int B[], int n) {
 8         if(n == 0) return ;
 9         if(m == 0){
10             memcpy(A,B,sizeof(int)*n);
11             return ;
12         }
13         int *num = new int[m+n];
14         memset(num,0,m+n);
15         int im,in,index;
16         im = in = index =0;
17         while(index<m+n){
18             num[index++] = (A[im] <= B[in])?(A[im++]):(B[in++]);
19             if(in == n || im == m) break;
20         }
21         if(in == n) memcpy(&num[index],&A[im],sizeof(int)*(m-im));//new skill gets!
22         else memcpy(&num[index],&B[in],sizeof(int)*(n-in));
23         memcpy(A,num,sizeof(int)*(m+n));
24         delete []num;
25     }
26 };
bubuko.com,布布扣

[leetCode]Merge Sorted Array,布布扣,bubuko.com

[leetCode]Merge Sorted Array

原文:http://www.cnblogs.com/marylins/p/3608756.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!