胡凡算法笔记之——two pointers/序列合并

two pointers 的大概意思就是用两个指针去遍历,适用于,例如:两个递增序列A与B合并成一个递增序列C,这种需要两边同时操作的。

 

我们就以这个例子来看:

将两个递增序列A与B合并成一个递增序列C:

下面是代码:

int merge(int A[],int B[],int C[],int n,int m){
	int i=0,j=0,index=0;
	while(i<n && j<m){
		if(A[i] <= B[j]){
			C[index++]=A[i++];
		}else{
			C[index++]=B[j++];
		}
	}
	while(i<n) C[index++] = A[i++];
	while(j<m) C[index++] = B[i++];
	return index;
}

猜你喜欢

转载自blog.csdn.net/dyyay521/article/details/88648659