c语言单链表设计报告,单链表的实现实验报告.doc

单链表的实现实验报告

篇一:数据结构单链表实验报告

一、 设计人员相关信息

1. 设计者姓名、学号和班号:12地信李晓婧 12012242983

2. 设计日期:2014.

3. 上机环境:VC++6.0

二、 程序设计相关信息

1. 实验题目:编写一个程序,实现单链表的各种基本运算(假设单链表的元素类型为char),并在此基础上设计一个程序,完成如下功能:

(1) 初始化单链表;

(2) 采用尾插法依次插入元素a,b,c,d,e;

(3) 输出单链表

(4) 输出单链表长度

(5) 判断单链表是否为空

(6) 输出单链表第3个元素

(7) 输出元素a的位置

(8) 在第4个元素位置上插入元素f

(9) 输出单链表

(10)删除第三个元素

(11)输出单链表

(12)释放单链表

2. 实验项目组成:

(1) 插入和删除节点操作

(2) 建立单链表

尾插法建表

(3) 线性表基本运算在单链表中的实现

初始化线性表

销毁线性表

判断线性表是否为空表

求线性表的长度

3. 实验项目的程序结构(程序中的函数调用关系图):

4. 实验项目包含的各个文件中的函数的功能描述:

? 尾插法建表CreateListR:将新节点插到当前链表的表尾上,为此必须增加一个尾指针

r,使其始终指向当前链表的尾节点。

? 初始化线性表InitList:该运算建立一个空的单链表,即创建一个头节点;

? 销毁线性表DestroyList:释放单链表占用的内存空间,即逐一释放全部节点的空间; ? 判断线性表是否为空表ListEmpty:若单链表没有数据节点,则返回真,否则返回假; ? 求线性表的长度ListLength:返回单链表中数据节点的个数;

? 输出线性表DispList:逐一扫描单链表的每个数据节点,并显示各节点的data域值;

? 求线性表中某个数据元素值GetElem:在单链表中从头开始找到第i个节点,若存在第

i个数据节点,则将其data域值赋给变量e;

? 按元素值查找LocateElem:在单链表中从头开始找第一个值域与e相等的节点,若存

在这样的节点,则返回逻辑序号,否则返回0;

? 插入数据元素ListInsert:先在单链表中找到第i1个节点*p,若存在这样的节点,将值

为e的节点*s插入到*p节点的后面;

? 删除数据元素ListDelete:先在单链表中找到第i1个节点*p,若存在这样的节点,且

也存在后继节点*q;删除*q节点,返回TRUE;否则返回FALSE表示参数i错误。

5. 算法描述或流程图:

篇二:单链表操作实验报告

线性表

一、实验目的

1. 了解线性表的逻辑结构特征,以及这种特性在计算机内的两种存储结构。

2. 掌握线性表的顺序存储结构的定义及其C语言实现。

3. 掌握线性表的链式村粗结构——单链表的定义及其C语言实现。

4. 掌握线性表在顺序存储结构即顺序表中的各种基本操作。

5. 掌握线性表在链式存储结构——单链表中的各种基本操作。

二、实验要求

1. 认真阅读和掌握本实验的程序。

2. 上机运行本程序。

3. 保存和打印出程序的运行结果,并结合程序进行分析。

4. 按照对顺序表和单链表的操作需要,重新改写主程序并运行,打印出文件清单和运行结果

三、实验内容

请编写C程序,利用链式存储方式来实现线性表的创建、插入、删除和查找等操作。具体地说,就是要根据键盘输入的数据建立一个单链表,并输出该单链表;然后根据屏幕菜单的选择,可以进行数据的插入或删除,并在插入或删除数据后,再输出单链表;然后在屏幕菜单中选择0,即可结束程序的运行。

四、解题思路

本实验要求分别写出在带头结点的单链表中第i(从1开始计数)个位置之后插入元素、创建带头结点的单链表中删除第i个位置的元素、顺序输出单链表的内容等的算法。

五、程序清单

include单链表的实现实验报告)h>

include

include

typedef int ElemType;

typedef struct LNode

{ ElemType data;

struct LNode *next;

}LNode;

LNode *L

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值