两个固定长度整数集合并

来源:互联网 发布:libzip windows 编辑:程序博客网 时间:2024/04/29 07:40

#include <iostream>
using namespace std;

class SET{
public:
 SET(int x[],int xl,int y[],int yl){
  numa=xl;numb=yl;numc=0;
  for (int i=0;i<numa;i++)
   a[i]=x[i];
  for(int j=0;j<numb;j++)
   b[j]=y[j];
 }
 int check(int elem,int s[],int size){
  for (int i=0;i<size;i++)
   if(elem==s[i])
    return 0;
   return 1;
 }
 void insert();
 void output(){
  cout<<"合并集的个数:"<<numc<<endl;
  for (int i=0;i<numc;i++)
   cout<<c[i]<<" ";
  cout<<endl;
 }
private:
 int numa,numb,numc;
 int a[40],b[40],c[40];
};
int main(){
 int a[]={1,3,5,7,9};
 int b[]={1,2,3,4,5,6};
 int al=sizeof(a)/sizeof(int);
 int bl=sizeof(b)/sizeof(int);
 SET set(a,al,b,bl);
 set.insert();
 set.output();
 return 0;
}
void SET::insert(){
 for (int i=0;i<numa;i++)
  c[i]=a[i];
 numc=numa;
 for (int j=0;j<numb;j++){
  if (check(b[j],c,numa)==1)
  {
   c[numc]=b[j];
   numc++;
  }
 }
}

原创粉丝点击