数据结构假设分别以两个元素的值递增有序线性表a,b表示两个集合,现在要构成一个新的线性表c,c表示a b的交,且c中的元素也递增有序.分别以顺序表和单链式表为存储结构,编写程序

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/04 13:04:59
数据结构假设分别以两个元素的值递增有序线性表a,b表示两个集合,现在要构成一个新的线性表c,c表示a b的交,且c中的元素也递增有序.分别以顺序表和单链式表为存储结构,编写程序

数据结构假设分别以两个元素的值递增有序线性表a,b表示两个集合,现在要构成一个新的线性表c,c表示a b的交,且c中的元素也递增有序.分别以顺序表和单链式表为存储结构,编写程序
数据结构假设分别以两个元素的值递增有序线性表a,b表示两个集合,现在要构成一个新的线性表c,c表示a b的交,且c中的元素也递增有序.分别以顺序表和单链式表为存储结构,编写程序

数据结构假设分别以两个元素的值递增有序线性表a,b表示两个集合,现在要构成一个新的线性表c,c表示a b的交,且c中的元素也递增有序.分别以顺序表和单链式表为存储结构,编写程序
#include
using namespace std;
struct Node
{
int data;
Node *next;
};
class LinkList
{
public:
Node * intLinkList(int a[],int n)
{
first=new Node;
first->next=NULL;
for(int i=(n-1);i>=0;i--)
{
Node *s;
s=new Node;
s->data=a[i];
s->next=first->next;
first->next=s;
}
\x05 return first;
}
void PrintList()
{
Node *p;
p=first->next;
while(p)
{
coutnext;
while(p && q)
{
if(p->datadata)
{
A->next=p->next;
p=p->next;
}
else if(p->data>q->data) q=q->next;
else{
p=p->next;
q=q->next;
}
}
}
void Bingji(Node *A,Node *B)
{
Node *p,*q,*r;
p=A->next; q=B->next;
while(p&&q)
{
if(p->datadata){ r=p; p=p->next;}
else if(p->data>q->data)
{
B->next=q->next;
q->next=p;
r->next=q;
q=B;
}
else if(p->data=q->data){
\x05\x05\x05 r=p;
p=p->next;
q=q->next;
}
\x05\x05
}
r->next=q;
}
void Chaji(Node *A,Node *B)
{
Node *p,*q;
p=A->next; q=B->next;
while(p &&q)
{
Node *r;
if(p->datadata)
{
r=p;
p=p->next;
}
else if(p->data>q->data) q=q->next;
else{
Node *s;
s=p;
r->next=p->next;
p=r->next;
delete s;
}
}
}
void main()
{
\x05cout