#include <stdio.h>
#include <stdlib.h>
#include<windows.h>
struct Node{
int data;
Node *next;
};
typedef Node* LinkList;
void MergeList_L(LinkList *LA,LinkList *LB,LinkList *LC)
{
*LC = *LA;
Node* pa = (*LA)->next;
Node* pb = (*LB)->next;
Node* pc;
while(pa||pb)
{
if(!pa)
{
pc = pb;
printf("the value of pb is %d\n",pb->data);
printf("the value of pc is %d\n",pc->data);
pb = pb->next;
}
else if(!pb)
{
pc = pa;
printf("the value of pa is %d\n",pa->data);
pa = pa->next;
printf("the value of pc is %d\n",pc->data);
}
else if((pa->data)<(pb->data))
{
pc = pa;
printf("the value of pa is %d\n",pa->data);
printf("the value of pb is %d\n",pb->data);
printf("the value of pc is %d\n",pc->data);
pa = pa->next;
printf("the value of pa is lower than pb.\n");
}
else if((pa->data)>(pb->data))
{
printf("the value of pa is %d\n",pa->data);
printf("the value of pb is %d\n",pb->data);
pc = pb;
pb = pb->next;
printf("the value of pc is %d\n",pc->data);
printf("the value of pa is higher than pb.\n");
}
else
{
printf("the value of pa is %d\n",pa->data);
printf("the value of pb is %d\n",pb->data);
pc = pa;
pa = pa -> next;
pb = pb -> next;
printf("the value of pc is %d\n",pc->data);
printf("the value of pa equals with pb.\n");
}
pc->next = (*LC)->next;
(*LC) ->next = pc;
//printf("the value of pa is %d\n",pa->data);
//printf("the value of pb is %d\n",pb->data);
//printf("the value of pc is %d\n",pc->data);
}
printf("the circle is in the end.");
system("pause");
}
void CreateList_RA(LinkList *LA)
{
*LA = (LinkList)malloc(sizeof(Node));
(*LA)->next = NULL;
int a;
while(scanf("%d",&a)!=EOF)
{
Node *p=(Node*)malloc(sizeof(Node));
p->data = a;
p->next = (*LA)->next;
(*LA)->next = p;
//printf("p的值:%d\n",p->data);
}
system("pause");
}
void show(LinkList LC)
{
for(Node *p = LC->next;p;p = p->next)
{
printf("%d\n",p->data);
}
system("pause");
}
int main() {
LinkList LA;
LinkList LB;
LinkList LC;
CreateList_RA(&LA);
CreateList_RA(&LB);
MergeList_L(&LA,&LB,&LC);
show(LC);
}
将两个非递减的有序链表合并为一个非递增的有序链表。要求结果链表仍使用原来两个链表的存储空间,不占用其他的存储空间。表中允许有重复的数据。
最新推荐文章于 2024-06-04 20:07:26 发布