数据结构 线性表 单链表的归并

原创 2013年12月02日 18:57:00
#include <stdio.h>
#include <stdlib.h>
#include <iostream.h>

#define OK          1
#define ERROR       0
#define OVERFLOW    -2

typedef int ElemType;

typedef struct LNode
{
	ElemType data;
	struct LNode *next;
}LNode, *LinkList;

void CreateList_L(LinkList &L, int n)
{
	int i;
	LinkList p,q;
	L = (LinkList) malloc (sizeof(LNode));
	if (!L)
	{
		exit(OVERFLOW);
	}
	p = L;
	for (i=0; i<n; i++)
	{
		q = (LinkList) malloc (sizeof(LNode));
		if (!q)
		{
			exit(OVERFLOW);
		}
		scanf("%d",&q->data);
		p->next = q;
		p = q;
	}
	p->next = NULL;


}


void Display(LinkList L)
{
	LinkList p = L->next;
	while (p != NULL)
	{
		printf("%d ",p->data);
		p = p->next;
	}
	printf("\n");
}

void MergeList_L(LinkList &La, LinkList &Lb,LinkList &Lc)
{
	LinkList pa,pb,pc;
	pa = La->next;
	pb = Lb->next ;
	Lc = pc = La;
	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 ;
		}
	}
	pc->next = pa?pa:pb;
	free(Lb);
}



int main()
{
	int n;
	LinkList La,Lb,Lc;
	printf("请输入您要创建单链表La的元素的个数:");
	scanf("%d",&n);
	CreateList_L(La,n);
	printf("请输入您要创建单链表Lb的元素的个数:");
	scanf("%d",&n);
	CreateList_L(Lb,n);
	printf("两个链表归并后的链表是:");
	MergeList_L(La,Lb,Lc);
	Display(Lc);



	return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

2-3-归并单链表(顺序表)-线性表-第2章-《数据结构》课本源码-严蔚敏吴伟民版

严蔚敏吴伟民版《数据结构》课本源码第2章线性表第3节归并顺序表。

小猪的数据结构辅助教程——2.2 线性表中的单链表

**学习要点**: > - 1.理解顺序表以及单链表各自的有点以及缺点! - 2.熟悉单链表的形式,对于头指针,头结点,尾结点,数据域和指针域这些名词要知道是什么! - 3.熟悉单链表的结点结构 -...

线性表之单链表学习小结(初学数据结构必看)

花了好几个小时,详细规划出了整个过程,包括所有基本操作。。。有什么疑问请下方留言 #include using namespace std; #define ElemType char #d...

数据结构学习之线性表的单链表存储(1)

一直想学习数据结构,但每次总是匆匆的
  • ZP333
  • ZP333
  • 2014-08-24 16:05
  • 348

《数据结构》严蔚敏版(java解)——第二章 线性表03 单链表操作

概念:单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。 特点:链表中结点的逻辑次序和物理次序不一定相同。为了能正确表示结点间的逻辑关系,在存储每个结点值的同时,还必须...

数据结构-线性表之单链表(Java实现)

数据结构 大话数据结构 单链表 Java实现
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)