作者在 2008-04-07 18:38:34 发布以下内容
实验二 单链表的插入
【实验目的】
(1) 掌握C语言中结构类型和指针类型,指针是逻辑关系的映像。
(2) 掌握线形链表的操作特点和动态产生单链表的方法。
(3) 掌握单链表的插入操作的特点和方法。
【实验内容】
设X=(x1, x2, …, xn)和Y=(y1, y2, …, ym) (m<=n)是两个链式存储的线性表,试把它们合并为一个线性表Z,使得:
Z=
(即教材p102 2.15题)
【实验要求】
从键盘输入两组整数(每组7~8个数据),分别动态产生带头结点的单链表X和Y,并输出结点值。然后合并为Z,并观察输出结果。
【实验提示】
涉及动态生成一个结点。因此文件开头应有# include "malloc.h" 此头文件中包含malloc(x)函数。
以下为动态生成一个数据域值为x的结点的典型语句:
t=(struct node *)malloc(sizeof(struct node)); /* t为新生成的结点的指针 */
t->data=x;
对于插入操作,首先要找到插入的位置(用指针表示),然后对结点的指针域赋值,注意赋值的次序。