#include<iostream>
using namespace std;
class List
{
public:
int data;
List *Link;
List(int a)
{
data=a;
Link=NULL;
}
};
class theSme
{
public:
void jiaoji( List* , List* );
List* inputdata( List*,int );
List* createList();
};
void theSme::jiaoji(List *p,List *q)
{
List *o=new List(0);
List *s,*a,*b;
s=o;
a=p;
b=q;
do
{
a=a->Link;
do
{
b=b->Link;
if(a->data==b->data)
{
List *r=new List(a->data);
o->Link=r;
o=r;
r=NULL;
break;
}
}while(b->Link!=NULL);
b=q;
}while(a->Link!=NULL);
if(s->Link==NULL)
{
cout<<"没有交集"<<endl;
return ;
}
s=s->Link;
while(s->Link!=NULL)
{
cout<<s->data<<" ";
s=s->Link;
}
cout<<s->data<<" "<<endl;
}
List* theSme::createList()
{
List *p = new List(0); //申请第一个(头)指针
return p;//返回头指针,便于插入相关信息
}
List* theSme::inputdata( List *q,int a )
{
List *t = new List(a);
q->Link=t;
return q->Link; //返回到下一个指针,实现输入信息的连贯
}
int main()
{
int d=0;
char a[200],b[200],*s,*t;
theSme sa1,sa2,sa3;
List *e,*f,*g,*h;
g=e=sa1.createList();
h=f=sa2.createList();
cin.getline(a,200);
s=a;
for(;*s!='\0';)
{
if(*s!=' ')
{
if(*(s+1)!=' ')
{
d=10*((*s)-48)+(*(s+1)-48);s+=2;
}
else
{
d=((*s)-48);
s+=1;
}
e=sa1.inputdata(e,d);
}
if(*s==' ')s++;
}
cin.getline(b,200);
t=b;
for(;*t!='\0';)
{
if(*t!=' ')
{
if(*(t+1)!=' ')
{
d=10*((*t)-48)+(*(t+1)-48);t+=2;
}
else
{
d=((*t)-48);
t+=1;
}
f=sa2.inputdata(f,d);
}
if(*t==' ')t++;
}
sa3.jiaoji(g,h);
return 0;
}
数据结构算法设计C++,乐学答案
需积分: 37 113 浏览量
2020-02-23
17:20:31
上传
评论 4
收藏 3.6MB RAR 举报
巴扎黑t
- 粉丝: 44
- 资源: 84
最新资源
- mongodb数据库基本操作.pdf
- C#,布尔可满足性问题(Boolean Satisfiability Problem)算法与源代码
- C#,回文分割问题(Palindrome Partitioning Problem)算法与源代码
- C#,煎饼排序问题(Pancake Sorting Problem)算法与源代码
- C#,排列组合的堆生成法(Heap’s Algorithm for generating permutations)算法与源代码
- C#,老鼠迷宫问题的回溯法求解(Rat in a Maze)算法与源代码
- 6693eeb8d683458a07938615fba9e68f.apk
- C#,数值计算,解微分方程的龙格-库塔二阶方法与源代码
- C#,数值计算,用割线法(Secant Method)求方程根的算法与源代码
- C#,子集和问题(Subset Sum Problem)的算法与源代码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈