来个牛人帮我做题吧~
来源:百度知道 编辑:UC知道 时间:2024/05/28 15:13:03
1,假设有两个按元素值递增次序排列的线性表,均以单链表形式存储。请编写算法将这两个单链表归并为一个按元素值递减次序排列的单链表,并要求利用原来两个单链表的结点存放归并后的单链表。
节点结构:
typedef struct node{
int data;
struct node *next;
} linknode,*link;
link Union(link la,lb)
2,typedef struct node
{int data; struct node *next;
}linknode,*link;
bool inclusion(link ha,link hb):boolean;
/*以ha和hb为头指针的带头节点单链表分别表示递增有序表A和B,本算法判别表A是否包含在表B内,若是,则返回“true”,否则返回“false”*/
{
pa=ha->next; pb=hb->next; (1) ;
while ((2) )
{
if (pa->data==pb->data )
(3);
else
(4) ;
}
(5) ;
}
我今天中午之前就得交程序了,大家帮帮忙啊~O(∩_∩)O谢谢
节点结构:
typedef struct node{
int data;
struct node *next;
} linknode,*link;
link Union(link la,lb)
2,typedef struct node
{int data; struct node *next;
}linknode,*link;
bool inclusion(link ha,link hb):boolean;
/*以ha和hb为头指针的带头节点单链表分别表示递增有序表A和B,本算法判别表A是否包含在表B内,若是,则返回“true”,否则返回“false”*/
{
pa=ha->next; pb=hb->next; (1) ;
while ((2) )
{
if (pa->data==pb->data )
(3);
else
(4) ;
}
(5) ;
}
我今天中午之前就得交程序了,大家帮帮忙啊~O(∩_∩)O谢谢
#include<stdio.h>
#include<stdlib.h>
typedef struct node
{ int data;
struct node *next;
}linknode,*link;
link Union(link la,link lb) //带头节点
{ link pa,pb,pc,hc,temp;
hc=la;
pc=hc;
pa=la->next;
pb=lb->next;
while(pa && pb)
{
if(pa->data<pb->data)
{
pc->next=pa;
pc=pa;
pa=pa->next;
}
else
{
pc->next=pb;
pc=pb;
pb=pb->next;
}
}
if(pa!=NULL)
pc->next=pa;
if(pb!=NULL)
pc->next=pb;<