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

原创 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节归并顺序表。

数据结构_线性表_链式存储_单链表 的基本操作

单链表的简介 单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),元...

数据结构-线性表_单链表

链表是一种复杂的数据结构,其数据之间的相互关系使链表分成三种:单链表、循环链表、双向链表,这篇文章介绍单链表的实现。单链表有一个头节点head,指向链表在内存的首地址。链表中的每一个节点的数据类型为结...

《大话数据结构》读书笔记之线性表基本操作(静态单链表实现)

/*     Name:  线性表抽象数据类型(使用静态单链表实现)      Copyright:      Author: 巧若拙      Date:06-10-14 14:16   ...

PHP数据结构之三 线性表中的单链表的PHP实现

线性表的链式存储:用一组任意的存储单元存储线性表中的数据元素。用这种方法存储的线性表简称线性链表。 链式存储线性表的特点:存储链表中结点的一组任意的存储单元可以是连续的,也可以是不连续的,甚至是零散...
  • nuli888
  • nuli888
  • 2016年08月08日 15:16
  • 228

数据结构 线性表 建立单链表(头插法)

#include #include #define LIST_INIT_SIZE 100 #define LISTLNCREMENT 10 #define OK ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据结构 线性表 单链表的归并
举报原因:
原因补充:

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