两个已排序的整型数组,求交集,最快算法

运用归并排序的思想,实现这个求交集!

#include<iostream>
using namespace std;
void merge(int a[],int b[],int n,int m)
{
 int i=0,j=0;
 while(i<n&&j<m)
 {
  if(a[i]==b[j])
  {
   cout<<"两个数组中重复的数字其中一个是:"<<a[i]<<endl;
   i++;
   j++;
  }
  else if(a[i]>b[j])
  {
   j++;
  }
  else i++;
 }
}
int main()
{
 
 cout<<"分别输入两个数组的输入数字的个数(<100)"<<endl;
 int n,m;
 cin>>n>>m;
 int a[100];
 int b[100];
 cout<<"分别输入两个数组,每个数组都是从小到大的排列顺序!"<<endl;
 for(int i=0;i<n;i++)
  cin>>a[i];
 for(int j=0;j<m;j++)
  cin>>b[j];
 merge(a,b,n,m);
  return 0;
}

posted on 2011-09-09 10:12  原来...  阅读(3952)  评论(2编辑  收藏  举报

导航