算法笔记 --- 有序数组合并
发布日期:2021-08-28 20:23:45 浏览次数:40 分类:技术文章

本文共 705 字,大约阅读时间需要 2 分钟。

有两个从小到大排序以后的数组A和B,其中A的末端有足够的缓冲空容纳B。请编写一个方法,将B合并入A并排序。

给定两个有序int数组AB,A中的缓冲空用0填充,同时给定A和B的真实大小int n和int m,请返回合并后的数组。

class Merge {public:    int* mergeAB(int* A, int* B, int n, int m) {        // write code here        int index_A = n-1;        int index_B = m-1;        int index_merge = n+m-1;        while(index_B >= 0){            if(index_A < 0){                A[index_merge--] = B[index_B--];            }else{                if(A[index_A] > B[index_B]){                    A[index_merge--] = A[index_A--];                }else{                    A[index_merge--] = B[index_B--];                }            }        }        return A;    }};

 

转载于:https://www.cnblogs.com/zhongzhiqiang/p/5798738.html

转载地址:https://blog.csdn.net/weixin_33970449/article/details/94437789 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:【实战】如何实现各种拾取器
下一篇:json序列化与反序列化

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月12日 01时38分36秒