单链表实验报告

合集下载

单链表的各种基本运算的实现实验报告

单链表的各种基本运算的实现实验报告

软件技术基础实验一-----单链表的各种基本运算的实现班级:电信0901学号:**********姓名:***实验一线性表的插入和删除(1)实验题目:编写一个程序,实现单链表的各种基本运算,并在此基础上设计一个主程序完成如下功能:(1)初始化单链表(2)依次采用尾插法插入a,b,c,d,e元素(3)输出单链表(4)在第四个元素位置上插入f元素(5)删除该单链表的第三个元素(2)实验目的:(1) 掌握单链表的基本运算:建立、插入和删除(2) 掌握运用C 语言上机调试单链表的基本方法。

(3)调试通过并正确执行给定功能要求的实验代码#include "stdafx.h"#include<malloc.h>#include<iostream.h>struct link{char data;link *next;}; //结点定义link *rcreat(link *head,char x){link *s,*r;r=head;s=new link;s->data=x;r->next=s;r=s;r->next=NULL;return r;} //用尾插法建立单链表link *locate(link *head,char x){link *p;p=head->next;while((p!=NULL)&&(p->data!=x))p=p->next;return p;} //查找元素x的地址link *get(link *head,int i){int j;link *p;j=1;p=head->next ;while((j<i-1)&&(p!=NULL)){j++;p=p->next;}return p;} //查找第i个元素的地址void insert(link *head,int num,char y){link *p,*s;s=new link;s->data=y;if(head->next==NULL){head->next=s;s->next=NULL;}p=get(head,num);if(p==NULL) cout<<"插入位置非法";else{s->next=p->next;p->next=s;}} //元素y之后插入元素xvoid delet(link *head,char x){link * p, * q;q=head;p=head->next;while((p!=NULL)&&(p->data!=x)){q=p;p=p->next;}if(p==NULL) cout<<"要删除的元素不存在";else{q->next=p->next;delete(p);}} //元素x删除void print(link *head){link *p;p=head->next;while(p->next!=NULL){cout<<p->data<<" ";p=p->next;}cout<<p->data<<endl;} //输出单链表void main(int argc, char* argv[]) //主函数{link *head,*p,*q,*r;char x,y;int num,shanchu,i=1,j=1;head=new link;head->next=NULL;r=head;while(j<=5){cout<<"输入用尾插法建立链表的字母:";cin>>x;r=rcreat(r,x);j=j+1;}print(head);cout<<"请输入要插入的元素的位置及元素:";cin>>num;cin>>y;insert(head,num,y);cout<<"插入后的链表如下:"<<endl;print(head);cout<<"请输入要删除元素的位置:";cin>>shanchu;q=head;p=head->next;while(i<shanchu){q=p;p=p->next;i=i+1;}q->next=p->next;delete (p);cout<<"删除后的链表如下:"<<endl;print(head);}(4)实验结果截图。

单链表的实验报告

单链表的实验报告

单链表的实验报告单链表的实验报告引言:单链表是一种常用的数据结构,它由一系列节点组成,每个节点包含一个数据元素和一个指向下一个节点的指针。

在本次实验中,我们将学习如何使用单链表来实现一些基本的操作,并通过实验验证其功能和效率。

一、实验目的本次实验的主要目的是掌握单链表的基本概念和操作方法,包括插入、删除、查找等操作,并通过实际操作来验证其正确性和效率。

二、实验过程1. 单链表的定义和初始化首先,我们需要定义一个单链表的结构,并初始化一个空链表。

链表的结构可以使用C语言中的结构体来表示,其中包含一个数据域和一个指向下一个节点的指针。

2. 插入操作在已有链表中插入一个新的节点,可以分为两种情况:在链表头部插入和在链表中间插入。

我们可以通过修改指针的指向来实现插入操作。

3. 删除操作删除链表中的一个节点,同样可以分为两种情况:删除头节点和删除中间节点。

删除操作需要注意指针的重新连接,以防止链表断裂。

4. 查找操作在链表中查找指定的元素,可以通过遍历链表的方式来实现。

从链表头开始,依次比较节点的数据域,直到找到目标元素或者遍历到链表尾部。

5. 其他操作在实际应用中,还可以对链表进行排序、逆序、合并等操作,这些操作都可以通过适当的算法来实现。

三、实验结果通过实际操作,我们验证了单链表的各种操作方法的正确性和效率。

在插入、删除和查找操作中,链表的时间复杂度为O(n),其中n为链表的长度。

而在其他操作中,时间复杂度则根据具体算法的实现方式而定。

四、实验总结通过本次实验,我们深入了解了单链表的结构和操作方法,并通过实际操作来验证了其功能和效率。

单链表作为一种常用的数据结构,在实际应用中具有广泛的用途,例如链表可以用来实现栈、队列等其他数据结构,也可以用于解决一些实际问题,如链表的反转、环的检测等。

总之,掌握单链表的基本概念和操作方法对于学习和理解数据结构具有重要意义。

通过实验的方式,我们不仅能够加深对单链表的理解,还能够提高编程能力和解决实际问题的能力。

数据结构实验报告--单链表

数据结构实验报告--单链表

数据结构实验报告--单链表数据结构实验报告--单链表1.引言1.1 研究目的本实验旨在通过实践的方式,深入了解单链表的数据结构以及相关操作,提升对数据结构的理解和应用能力。

1.2 实验内容本实验主要包括以下几个方面的内容:●单链表的基本定义和实现●单链表的插入、删除、遍历操作●单链表的逆置操作●单链表的查找和修改操作2.理论基础2.1 单链表的定义单链表是一种常见的线性数据结构,它由一系列的节点组成,每个节点包含数据和指向下一个节点的指针。

2.2 单链表的基本操作①单链表的插入操作在单链表中,可以通过插入操作在指定位置插入一个新节点,该操作主要包括以下步骤:●创建一个新的节点,并为其赋值●将新节点的next指针指向插入位置的后一个节点●将插入位置的前一个节点的next指针指向新节点②单链表的删除操作在单链表中,可以通过删除操作删除指定位置的节点,该操作主要包括以下步骤:●将删除位置的前一个节点的next指针指向删除位置的后一个节点●释放删除节点的内存③单链表的遍历操作单链表的遍历操作主要是依次访问链表中的每一个节点,并执行相应的操作。

④单链表的逆置操作单链表的逆置操作可以将一个单链表中的节点顺序进行颠倒。

⑤单链表的查找操作在单链表中,可以通过查找操作找到指定值的节点。

⑥单链表的修改操作在单链表中,可以通过修改操作修改指定位置的节点的值。

3.实验过程3.1 实验环境本次实验使用C语言进行编程,需要先安装相应的编程环境,如gcc编译器。

3.2 实验步骤①单链表的创建和初始化首先创建一个空链表,并初始化链表的头指针。

②单链表的插入操作按照需求,在链表的指定位置插入一个新节点。

③单链表的删除操作按照需求,删除链表中的指定位置的节点。

④单链表的遍历操作依次访问链表中的每一个节点,并输出其值。

⑤单链表的逆置操作将单链表中的节点顺序进行逆置。

⑥单链表的查找操作按照需求,在链表中查找指定值的节点。

3.2.7 单链表的修改操作按照需求,修改链表中指定位置的节点的值。

实验三 单链表操作(1)

实验三 单链表操作(1)

实验三单链表操作一、实验目的1、掌握单链表的基本操作:建立、查找、插入、删除等运算。

二、实验要求1、补充主程序。

2、调试运行本实验程序并进行结果分析。

三、实验内容本程序功能在于演示单链表的建立、查找、插入、删除等运算,给出了部分程序,请补充完整并调试运行。

部分程序如下:#include <stdio.h>#include <stdlib.h>#define flag -1typedef int datatype;typedef struct node{datatype data;struct node *next;}LNode,*LinkList;/*尾部插入结点建立带有头结点单链表*/LinkList Creat_LinkList(){ LinkList L;L= (LNode *)malloc(sizeof(LNode));L->next=NULL;LNode *s,*r=NULL;int x; /*设数据元素的类型为int*/scanf("%d,",&x);while (x!=flag){ s= (LNode *)malloc(sizeof(LNode));s->data=x;if (L->next==NULL) L->next=s; /*头结点的处理*/else r->next=s; /*其它结点的处理*/r=s; /*r 指向新的尾结点*/scanf("%d,",&x);}if ( r!=NULL) r->next=NULL; /*对于非空表,最后结点的指针域放空指针*/return L;}/* 求带头结点单链表长度*/int Length_LinkList(LinkList L){ LNode * p=L; /* p指向头结点*/int j=0;while (p->next){ p=p->next; j++; } /* p所指的是第j 个结点*/return j;}/* 按序号查找*/LNode * Get_LinkList(LinkList L, int i)/*在带头结点的单链表L 中查找第i 个元素结点,找到返回其指针,否则返回空*/ { LNode * p=L;int j=0;while (p->next !=NULL && j<i ){ p=p->next; j++; }if (j==i) return p;else return NULL;}/*按值查找*/LNode * Locate_LinkList( LinkList L, datatype x)/*在带头结点的单链表L中查找值为x的结点,找到后返回其指针,否则返回空*/ { int i=0;LNode * p=L->next;while ( p!=NULL && p->data != x){i=i+1;p=p->next;}return p;}/*单链表插入结点*/int Insert_LinkList(LinkList L,int i,datatype x)/*在带头结点的单链表L的第i个位置上插入值为x的元素*/{ LNode * p,*s;p=Get_LinkList(L,i-1); /*查找第i-1个结点*/if (p==NULL){printf("参数i错!\n");return 0; } /*第i-1个结点不存在不能插入*/else{ s=(LNode *)malloc(sizeof(LNode));/*申请、填装结点*/s->data=x;s->next=p->next;/*新结点插入在第i-1个结点的后面*/p->next=s;return 1;}}/*单链表删除结点*/int Del_LinkList(LinkList L,int i)/*删除带头结点的单链表L上的第i个数据结点*/{ LinkList p,s;p=Get_LinkList(L,i-1); /*查找第i-1个结点*/if (p==NULL){ printf("第i-1个结点不存在");return -1; }else if (p->next==NULL){ printf("第i个结点不存在");return 0; }else{ s=p->next; /*s指向第i个结点*/p->next=s->next; /*从链表中删除*/free(s); /*释放*s */return 1;}}/*显示单链表结点*/void Print_LinkList(LinkList L){LNode * p=L; /* p指向头结点*/printf("单链表为:\n");while (p->next){printf("%d,",p->next->data);p=p->next;}printf("\n");}void main(){LinkList L;int len;LNode *p;int i,j;int x;printf("尾部插入结点建立带有头结点单链表\n");L=Creat_LinkList();Print_LinkList(L);printf("求带头结点单链表长度\n");len=Length_LinkList(L);printf("单链表的长度为:\n");printf("%d\n",len);printf("按序号查找\n");printf("输入查找结点的序号:"); scanf("%d",&i);p=Get_LinkList(L,i);if(p!=NULL) printf("%d\n",p->data); else printf("\n查找结点不存在!"); printf("按值查找\n");printf("输入查找结点的值:");scanf("%d",&x);p=Locate_LinkList(L,x);if(p!=NULL) printf("%d\n",p->data); else printf("\n查找结点不存在!"); printf("单链表插入结点\n");printf("输入插入结点的序号、值:"); scanf("%d,%d",&i,&x);j=Insert_LinkList(L,i,x);if(j==1){printf("插入成功!\n");Print_LinkList(L);}printf("单链表删除结点\n");printf("输入删除节点的序号\n"); scanf("%d",&i);j=Del_LinkList(L,i);if(j==1){printf("删除成功!\n");Print_LinkList(L);}}。

单链表实验报告

单链表实验报告

计算机与信息技术学院综合性、设计性实验报告专业:网络工程年级/班级:大二2016—2017学年第一学期一、实验目的(1)熟悉顺序表的创建、取值、查找、插入、删除等算法,模块化程序设计方法。

二、实验仪器或设备(1)硬件设备:CPU为Pentium 4以上的计算机,内存2G以上(2)配置软件:Microsoft Windows 7与VC++6.0三、总体设计(设计原理、设计方案及流程等)设计原理:单链表属于线性表,线性表的存储结构的特点是:用一组任意存储单元存储线性表的数据元素,这组存储单元可以是连续的,也可以是不连续的。

因此,对于某个元素来说,不仅需要存储其本身的信息,还需要存储一个指示其直接后继的信息。

设计方案:采用模块化设计的方法,设计各个程序段,最终通过主函数实现各个程序段的功能。

设计时,需要考虑用户输入非法数值,所以要在程序中写入说可以处理非法数值的代码。

设计流程:1.引入所需的头文件;2.定义状态值;3.写入顺序表的各种操作的代码;写入主函数,分别调用各个函数。

在调用函数时,采用if结构进行判断输入值是否非法,从而执行相应的程序四、实验步骤(包括主要步骤、代码分析等)#include<stdio.h> // EOF(=^Z或F6),NULL#include<stdlib.h> // srand( ) ,rand( ),exit(n)#include<malloc.h> // malloc( ),alloc( ),realloc( )等#include<limits.h> // INT_MAX等#include<string.h>#include<ctype.h>#include<math.h> // floor(),ceil( ),abs( )#include<iostream.h> // cout,cin#include<time.h> // clock( ),CLK_TCK,clock_t#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1#define OVERFLOW -2typedefint Status; // Status是函数的类型,//其值是函数结果状态代码,如OK等typedefintElemType;typedefstructLNode{ElemType data; //结点的数据域structLNode *next; //结点的指针域}LNode,*LinkList; //LinkList为指向结构体LNode的指针类型//初始化单链表算法步骤:1.生成新结点作为头结点,用头指针L指向头结点。

单链表基本操作实验报告[1]

单链表基本操作实验报告[1]
2010年12学号成绩组别同组姓名仪器编号实验项目单链表实验指导教师实验目的掌握单链表的基本操作实验要求建立单链表进行插入操作进行删除操作实验环境硬件
数学与计算机科学系实验报告
课程:数据结构地点:实验室时间:2010年12月7日
学生姓名
孙彩玲
班级
计本(2)班
学号
090312259
成绩
组别

同组姓名

scanf("%d",&i);
p=L;
j=0;
while(p->next&&j<i-1)
{
p=p->next;
++j;
}
if(!(p->next)||j>i-1)
{
printf("删除位置不合法!");
return 0;
}
q=p->next;
p->next=q->next;
e=q->data;
free(q);
for(i=0;i<a;i++)
{
q=(Linklist)malloc(sizeof(LNode));
scanf("%d",&q->data);
q->next=p->next;
p->next=q;
p=p->next;
}
printf(L);
return 0;
}
int ListInsert(Linklist &L)
}
s=(Linklist)malloc(sizeof(LNode));
s->data=e;

单链表实验报告总结

单链表实验报告总结

单链表实验报告总结‎单链表实验报告总结‎‎篇一:‎单链表实验报告‎实验一线性表基本操‎作的编程实现 --线‎性表在链表存储下的主‎要操作实现班级:T‎523-1 姓名:王‎娟学号:33 完成‎日期:201X.0‎ 4.04 地点‎:5502 学时:2‎学时一‎、需求分析【实验目‎的】通过本次实验,‎对课堂上线性表的知识‎进行巩固,进一步熟悉‎线性表的链接存储及‎相应的基本操作;并熟‎练掌握VC++‎6.0操作平台,学‎会调试程序,以及编写‎电子实验报告【实验‎要求】编写线性表的‎基本操作,有构造线性‎表,线性表的遍历,插‎入,删除,查找,求‎表长等基本功能,在此‎基础上能够加入DS下‎的图形界面以及学会文‎件的操作等功能,为以‎后的学习打下基础。

‎【实验任务】‎(1).线性表基本操‎作的编程实现,掌握线‎性表的建立、遍历、插‎入、删除等基本操作的‎编程实现,也可以进一‎步编程实现查找、逆序‎、排序等操作,存储结‎构可以在顺序结构或链‎表结构中任选,可以完‎成部分主要功能,也可‎以用菜单进行管理完成‎大部分功能。

还鼓励学‎生利用基本操作进行一‎些更实际的应用型程序‎设计。

(2)‎.用菜单管理,把线性‎表的顺序存储和链表存‎储的数据插入、删除运‎算进行程序实现。

建‎议实现键盘数据输入实‎现改实验的通用性。

为‎了体现功能的正常性,‎至少要编制遍历数据的‎函数.(3)‎.注意事项:开发语言‎使用C++,尽量使用‎面向对象的思想和实现‎方法,可以改编成应用‎软件. 【实验类型】‎验证型实验‎二、概要设计需要实‎现线性表的以下功能:‎1、创建单链‎表2、删除链‎表中的某个结点‎3、输出单链表(遍‎历)4、释放‎结点所占空间‎5、查找第i个结点‎6、插入一个结‎点7、求链表‎的长度二、详‎细设计(1)‎.数据结构线性表的‎线性结构觉决定了它的‎性质:数据元‎素之间是一种线性关系‎,数据元素一个接一‎个的排列,除了最后一‎个数据,其他的数据面‎临的下一个数据有且仅‎有一个。

单链表的操作实验报告

单链表的操作实验报告

单链表的操作实验报告《单链表的操作实验报告》在计算机科学领域,数据结构是非常重要的基础知识之一。

而单链表作为一种常见的数据结构,经常被用来存储和操作数据。

在本次实验中,我们将对单链表的操作进行实验,并撰写实验报告以总结和分享我们的实验结果。

实验目的:1. 了解单链表的基本概念和操作方法。

2. 掌握单链表的插入、删除、查找等操作。

3. 通过实际操作加深对单链表的理解和掌握。

实验环境:1. 编程语言:C/C++2. 开发环境:Visual Studio Code3. 实验工具:GCC编译器实验步骤:1. 定义单链表的结构体,并实现初始化、插入、删除、查找等操作的函数。

2. 编写测试用例,对单链表的各种操作进行测试。

3. 分析实验结果,总结操作的时间复杂度和空间复杂度。

4. 撰写实验报告,分享实验过程和结果。

实验结果:经过实验,我们成功实现了单链表的初始化、插入、删除、查找等操作,并对这些操作进行了充分的测试。

我们发现单链表的插入和删除操作的时间复杂度为O(1),而查找操作的时间复杂度为O(n),其中n为链表的长度。

这些结果与我们的预期相符合,说明我们对单链表的操作有了较好的掌握。

实验总结:通过本次实验,我们不仅加深了对单链表的理解,还提高了编程能力和数据结构的应用能力。

我们对单链表的操作有了更深入的了解,为以后在实际项目中应用单链表打下了良好的基础。

结语:单链表作为一种常见的数据结构,在实际应用中具有重要的作用。

通过本次实验,我们对单链表的操作有了更深入的了解,相信在以后的学习和工作中能够更好地应用和运用单链表。

希望本次实验报告能够对读者有所帮助,也欢迎大家对实验结果进行讨论和交流。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告课程名称数据结构实验名称单链表实验类型设计型实验实验地点计304机房实验日期指导教师魏海平专业计算机科学与技术班级算计1002学号20姓名张森辽宁石油化工大学计算机与通信工程学院数据结构实验报告评分表项目要求分数有无项目(√)得分预习报告(30分)实验目的明确 5 实验内容理解透彻 5 实验方案设计完整合理程序总体框架设计完整10完成相关辅助代码 5测试方案合理 5实验过程(30分)发现问题 5 问题的分析15 问题的解决方法10实验报告(20分)内容翔实无缺漏 5 如实记录实验过程10 撰写规整 5实验总结(10分)实验结果的分析 5 按照结果对原实验方案的改进意见 5实验体会(10分)实验的收获 5 实验内容的发散考虑 5总分一、实验目的1.理解数据结构中带头结点单链表的定义和逻辑图表示方法。

2.掌握单链表中结点结构的C++描述。

3.熟练掌握单链表的插入、删除和查询算法的设计与C++实现。

4.熟练掌握简单的演示菜单与人机交互设计方法。

二、实验内容1.编制一个演示单链表插入、删除、查找等操作的程序。

三、实验步骤1.需求分析本演示程序用VC++编写,完成单链表的生成,任意位置的插入、删除,以及确定某一元素在单链表中的位置。

①输入的形式和输入值的范围:插入元素时需要输入插入的位置和元素的值;删除元素时输入删除元素的位置;查找操作时需要输入元素的值。

在所有输入中,元素的值都是整数。

②输出的形式:在所有三种操作中都显示操作是否正确以及操作后单链表的内容。

其中删除操作后显示删除的元素的值,查找操作后显示要查找元素的位置。

③程序所能达到的功能:完成单链表的生成(通过插入操作)、插入、删除、查找操作。

2算法设计源程序:#include<iostream.h>//cout,cin#include"process.h"//exit()#include"stdio.h"//EOF,NULL#include "CLinkList.h"char pause;typedef int T;//主函数int main(){int i;T e,prior_e;CLinkList<int> L;//system("cls");//执行系统命令cls,清屏int choice;do{//显示主菜单cout<<"1-创建单循环链表\n";cout<<"2-按位序插入\n";cout<<"3-按位序删除\n";cout<<"4-按位序查找\n";cout<<"5-按值查找\n";cout<<"6-按值求前驱\n";cout<<"7-测表空\n";cout<<"8-测表长\n";cout<<"9-显示链表\n";cout<<"10-退出\n";cout<<"Enter choice:";cin>>choice;switch(choice){case 1://创建链表cout<<"请输入要创建的链表中元素个数:";cin>>i;//将创建的链表中数据元素的个数cout<<endl;L.CreateList(i);break;case 2://在指定位置插入元素cout<<"请输入插入位置:";cin>>i;//将创建的链表中数据元素的个数cout<<endl;cout<<"请输入插入元素的值:";cin>>e;//将创建的链表中数据元素的个数cout<<endl;try{L.Insert(i,e);}catch(char *err){cout<<err<<endl;}break;case 3://删除指定位置元素cout<<"请输入删除位置:";cin>>i;//将创建的链表中数据元素的个数cout<<endl;try{e=L.Delete(i);cout<<"被删除元素为:"<<e<<endl;}catch(char *err){cout<<err<<endl;}cin.get(pause);system("pause");break;case 4://返回指定位置元素cout<<"请输入要查询的元素位置:";cin>>i;try{e=L.GetElem(i);cout<<"第"<<i<<"个元素值为:"<<e<<endl;}catch(char *err){cout<<err<<endl;}cin.get(pause);system("pause");break;case 5:// 按值查找cout<<"请输入要查询的元素值:";cin>>e;//i=L.Locate(e);cout<<"查询元素"<<e<<"位于链表的位置为:"<<i<<endl;cin.get(pause);system("pause");break;case 6://求元素前驱cout<<"请输入要求前驱元素的值:";cin>>e;//try{prior_e=L.prior(e);cout<<"元素"<<e<<"的前驱值为:"<<prior_e<<endl;}catch(char *err){cout<<err<<endl;}cin.get(pause);system("pause");break;case 7://测表空i=L.Empty();if(i)cout<<"表空"<<endl;elsecout<<"表不空"<<endl;cin.get(pause);system("pause");break;case 8://测表长cout<<"链表长度为:"<<L.Length()<<endl;cin.get(pause);system("pause");break;case 9://显示表L.ListDisplay();cout<<endl;cin.get(pause);system("pause");break;case 10://退出cout<<"结束运行"<<endl;break;default://cout<<"Invalid choice\n";break;}}while(choice!=10);//return 0;}3、运行与测试4、思考题阅读源程序,回答下列问题。

1)程序中数据采用了什么样的逻辑结构、物理结构?答:逻辑结构:线性结构物理结构:顺序存储2)程序中哪个函数实现单链表的创建?采用的是尾插法还是头插法?答:析构函数;尾插法3)分析程序中提供的按值查找和按位查找算法的时间复杂度。

答:O(n); O((n+1)/2)4)根据求前驱的算法,实现求后继的算法。

答:case 6://求元素后继cout<<"请输入要求前驱元素的值:";cin>>e;//try{prior_e=L.next(e);cout<<"元素"<<e<<"的后继值为:"<<next_e<<endl;}catch(char *err){cout<<err<<endl;}cin.get(pause);system("pause");break;5)比较单链表与顺序表两种存储结构的特点,分别各适用于什么情况下?答:单链表一般使用多一些,因为它不需要固定大小的存储空间,而且要操作的时候,时间复杂度比顺序表小。

运行程序,回答下列问题。

1)链表会出现“表满”吗?答:链表在内存不用完的情况下,不存在表满的可能性。

5、心得体会通过对本实验程序的验证,我对创建表、元素插入、元素删除、元素查找、测表空、求表长等单链表的基本操作算法有了进一步的了解和应用。

在实验过程中也培养了我对于数据结构实践这一门课程兴趣。

相关文档
最新文档