最近在学习Manning的那本《信息检索导论》,自己尝试实现了其中的基本
归并算法,就是可以求出已按升序排列的两个集合的交集,C++代码如下:
#include using namespace std;
int main()
{
int a[]={1,3,7,8,9};
int b[]={4,5,7,9,10,13,17,19};
int sizea=sizeof(a)/sizeof(a[0]);
int sizeb=sizeof(b)/sizeof(b[0]);
int i=0,j=0; int count=0;
while(i!=sizea&&j!=sizeb)
{
if(a[i]<b[j])
{ i++; }
else if(a[i]==b[j])
{ cout<<a[i]<<" ";
i++; j++;
count++; }
else { j++; }
}
cout<<endl<<"相同元素个数:"<<count<<endl;
return 0;
}