本文主要是介绍序列合并问题---two pointers,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目描述:
假设有两个递增序列A和B,要 求将它们合并为一个递增序列C
核心代码实现
int merge(int A[],int B[],int C[],int n,int m)
{int i=0,j=0,index=0;//i指向A[0],j指向B[0]while(i<n&&j<m){if(A[i]<=B[j]){C[index++]=A[i];//将A[i]加入序列C}else{C[index++]=B[j];//将B[j]加入序列C}}while(i<n){C[index++]=A[i++];//将序列A的剩余元素加入序列C}while(j<m){C[index++]=B[j++];//将序列B的剩余元素加入序列C}return index;//返回序列的长度
}
这篇关于序列合并问题---two pointers的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!