注册 登录
编程论坛 C++教室

集合问题,求组大神!

知白守黑 发布于 2017-03-27 22:08, 1567 次点击
#include<iostream>
using namespace std;
struct Node
{
int data;
Node *next;

};
class LinkList
{
public:
    LinkList(int a[],int n);
    void Interest(LinkList s1,LinkList s2);
    void printlist();
private:
    Node*first;
};
LinkList::LinkList(int a[],int n)
{
first=new Node;
Node *r=first;
first->next=NULL;
for(int i=0;i<n;i++)
{
    Node *s=new Node;
    s->data=a[i];
    s->next=first->next;
    first->next=s;

}

}
void LinkList::Interest(LinkList s1,LinkList s2)
{
Node *pre=s1.first;
Node *p=pre->next;
Node *q=s2.first->next;
  while(p&&q)
   {
    if (p->data<q->data){
        pre->next=p->next;
        p=pre->next;
        }
    else if (p->data>q->data){ q=q->next;}
         else {pre=p;
              p=p->next;
              q=q->next;
        }
   }

}
void LinkList::printlist()
{
Node *p=first->next;
while(p!=NULL)
{
cout<<p->data<<"  ";
p=p->next;
}
}
int main()
{
int a[20],b[20];
int m,n;
cout<<"输入数组a元素的个数:";
cin>>m;
cout<<"请输入数组a元素"<<" ";
for(int i=0;i<m;i++)
cin>>a[i];
cout<<"输入数组b元素的个数:";
cin>>n;
cout<<"请输入数组b元素"<<" ";
for(int j=0;j<n;j++)
cin>>b[j];
LinkList list1(a,m);
LinkList list2(b,n);
list1.Interest(list1,list2);
list1.printlist();
cout<<endl;
return 0;
}
请问我这个为什么交集算不了 打印不出来 我也不知道什么回事。。。
0 回复
1