文档介绍:数据结构实验报告 - 链表
数据结构实验报告
1. 实验目标
(1)熟练掌握线性表的链式存储结构。
(2)熟练掌握单链表的有关算法设计。
(3)根据具体问题的需要,设计数据结构实验报告 - 链表
数据结构实验报告
1. 实验目标
(1)熟练掌握线性表的链式存储结构。
(2)熟练掌握单链表的有关算法设计。
(3)根据具体问题的需要,设计出合理的表示数据的顺序结构,并设计相关算法。
2. 实验内容和要求
(1)本次实验中的链表结构指带头结点的单链表;
(2)单链表结构和运算定义,例如求链表长度,在第i个结点前插入值为x的结点;(3)实验程序有较好可读性,各运算和变量的命名直观易懂,符合软件工程要求;(4)程序有适当的注释。
3. 数据结构设计(给出单链表的数据结构)
typedefstruct //结点结构
{
elementtype data; //存放数据的字段
struct node *next; //指向后继结点的指针
} node;
4. 算法设计(给出具体设计的函数代码)
(1) 初始化链表运算的实现
算法如下:
voidinitial_list( node * &L)
{
L=new node; //产生头结点
L->next=NULL; //设置后继指针为空
}
(2) 求链表长度运算的实现
算法如下:
intlist_length( node *L)
{
int n=0; node *P=L->next;
while( P!=NULL)
{
n++; //存在元素结点时就计数
P=P->next; //继续后继结点的计数
}
Return n; //返回结果
}
(3) 插入算法的实现
在链表L的第i个元素结点前插入值为x的结点算法如下:
void list_insert( node *L, int i, elementtype x)
{
node *P=L; int k=0; node *S;
while( k! = i – 1 && P! = NULL) //搜索a i-1结点
{
P=P->next; p++;