两种链表的合并运算(一种带头结点的,一种不带头结点)
来源:互联网 发布:怎样设置微博域名 编辑:程序博客网 时间:2024/04/29 23:25
一,不带头结点的两个链表的合并运算
#include<stdio.h>
#include<stdib.h>
typedef int ElenTyp;
typedef struct LNode{
int data;
struct LNode *next;
}LNode, *LinkList;
void create(LinkList &La, int n)
{
int i;
LNode *p,*q;
La=(LinkList)malloc(sizeof(LNode));
La->next=NULL;
p=(LinkList)malloc(sizeof(Lbode));
scanf("%d", &q->data);
p->next=NULL;
La=p;
for(i=n-1;i>0;i--)
{
q=(LinKlist)malloc(sizeof(LNode));
scanf("%d", &q->data);
p->next=q;
p=q;
q->next=NULL;
}
};
LinkList Merge(LinkList &La, LinkList &Lb){
LinkList Lc;
LNode *pa,*pb,*pc;
pa=La;
pb=Lb;
Lc=pc=La;
if(pa->data<pb->data)
{
pc=pa;
pa=pa->next;
}
else if(pa->data==pb->data)
{
pc=pa;
pa=pa->next;
pb=pb->next;
}
else
{
pc=pb;
pb=pb->next;
}
while(pa&&pb)
{
if(pa->data<pb->data)
{
pc->next=pa;
pc=pa;
pa=pa->next;
}
else if(pa->data==pb->data)
{
pc->next=pa;
pc=pa;
pa=pa->next;
pb=pb->next;
}
else
{
pc->next=pb;
pc=pb;
pb=pb->next;
}
}
pc->next=pa ? pa : pb;
return Lc;
};
void main()
{
LinkList La, Lb,Lc;
LNode *pa,*pb,*pc;
int n;
printf("请输入链表LA的表长:");
scanf("%d", &n);
create(La,n);
printf("请输入链表LB的表长:");
scanf("%d", &n);
create(Lb,n);
pa=La;
pb=Lb;
printf("链表LA的为:");
while(pa!=NULL)
{
printf(" %d ", pa->data);
pa=pa->next;
}
printf("\n");
printf("链表LB的为:");
while(pb!=NULL)
{
printf(" %d ", pb->data);
pb=pb->next;
}
printf("'n");Lc=Merge(La,Lb);
pc=Lc;
printf("链表LC的为:");
while(pc!=NULL)
{
printf(" %d ", pc->data);
pc=pc->next;
}
printf("\n");
}
- 两种链表的合并运算(一种带头结点的,一种不带头结点)
- 两种链表的合并运算(一种带头结点的,一种不带头结点)
- 不带头结点的单链表
- 不带头结点的单链表
- 带头结点和不带头结点的尾插法建立双链表
- 带头结点与不带头结点的单链表-LinkList
- 带头结点的单链表
- 带头结点的双链表
- 带头结点的双端链表
- 带头结点的单链表
- 带头结点的单链表转置
- 带头结点的单链表
- 带头结点的链表去重
- 《数据结构》带头结点单链表的合并
- 单链表反转问题(带头结点 和 不带头结点的 创建链表过程等)
- 基于带头结点单链表的多项式运算
- 不带头结点的单链表的建立
- 不带头结点的单链表的建立
- javascript中数组常用方法
- 简单实现遍历vector 删除所有相同的元素
- <<Label_Name>>End Loop Label_Name;
- 精神污染图制作(matlab代码)
- javascript中操作节点的属性
- 两种链表的合并运算(一种带头结点的,一种不带头结点)
- leetcode之Remove Linked List Elements
- CTP 下单返回错误: 没有报单权限 和字段错误需要注意的问题
- 第三部CC2530 TinyOS(RPL路由,eclipse yeti2插件)和Contiki(border-router,ping6)实验视频
- 双链表(C实现)
- node.js开发小项目的全过程 1 快速创建项目
- Android-存储方式(持久化数据的方式)
- CF Round#333 Div2 C. The Two Routes
- leetcode之Delete Node in a Linked List