1 / 18
文档名称:

数据结构实验报告 单链表.doc

格式:doc   大小:94KB   页数:18页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构实验报告 单链表.doc

上传人:164922429 2020/1/19 文件大小:94 KB

下载得到文件列表

数据结构实验报告 单链表.doc

文档介绍

文档介绍:2016级数据结构实验报告实验名称:实验一线性表——题目1学生姓名:李文超班级:2015661131班内序号:15学号:2015522147日期:2016年11月13日实验要求实验目的:根据线性表的抽象数据类型的定义,选择下面任一种链式结构实现线性表,并完成线性表的基本功能。线性表存储结构(五选一):带头结点的单链表不带头结点的单链表循环链表双链表静态链表线性表的基本功能:构造:使用头插法、尾插法两种方法插入:要求建立的链表按照关键字从小到大有序删除查找获取链表长度销毁其他:可自行定义编写测试main()函数测试线性表的正确性。: (1)链表用一组任意的存储单元来存放线性表的结点。这组存储单元既可以是连续的,也可以是不连续的,甚至零散地分布在内存的某些位置。(2)链表中结点的逻辑次序和物理次序不一定相同。为了能正确表示结点间的逻辑关系,在存储每个元素值的同时,还要存储该元素的直接后继元素的位置信息,这个信息称为指针或链。结点结构 ┌──┬──┐data域---存放结点值的数据域 │data│next│next域---存放结点的直接后继的地址的指针域 └──┴──┘      单链表在内存中的存储示意地址内存单元a[3]1080H……a[1]10C0H……a[4]^……a[2]1000H……1000H头指针1020H1080H10C0Hfront ………… 、关键算法:(1)头插法自然语言描述:a:在堆中建立新结点b:将a[i]写入到新结点的数据域c:修改新结点的指针域d:修改头结点的指针域。将新结点加入链表中伪代码描述a:Node<T>*s=newNode<T>b:s->data=a[i]c:s->next=front->next;d:front->next=s(2)尾插法自然语言描述:a:在堆中建立新结点:b:将a[i]写入到新结点的数据域:c:将新结点加入到链表中d:修改修改尾指针伪代码描述a:Node<T>*s=newNode<T>b:s->data=a[i]c:r->next=s;d:r=s(3)遍历打印函数自然语言描述:a:判断该链表是否为空链表,如果是,报错b:如果不是空链表,新建立一个temp指针c:将temp指针指向头结点d:打印temp指针的data域e:逐个往后移动temp指针,直到temp指针的指向的指针的next域为空伪代码描述a:Iffront->next==NULLThrow”anemptylist”‚Node<T>*temp=front->next;b:while(temp->next)c:cout<<temp->data<<"";d:temp=temp->next;(4)获取链表长度函数自然语言描述:a:判断该链表是否为空链表,如果是,输出长度0b:如果不是空链表,新建立一个temp指针,初始化整形数n为0c:将temp指针指向头结点d:判断temp指针指向的结点的next域是否为空,如果不是,n加一,否则returnne:使temp指针逐个后移,重复d操作,直到temp指针指向的结点的next域为0,返回n伪代码描述a:ifront->next==NULLb:Node<T>*temp=front->next;c:while(temp->next)d:temp=temp->next;(5)析构/删除函数自然语言描述:a:新建立一个指针,指向头结点b:判断要释放的结点是否存在,c:暂时保存要释放的结点d:移动a中建立的指针e:释放要释放的指针伪代码描述a:Node<T>*p=frontb:while(p)c:front=pd:p=p->nexte:deletefront(6)按位查找函数自然语言描述:a:初始化工作指针p和计数器j,p指向第一个结点,j=1b:循环以下操作,直到p为空或者j等于1:p指向下一个结点‚:j加1c:若p为空,说明第i个元素不存在,抛出异常d:否则,说明p指向的元素就是所查找的元素,返回元素地址伪代码描述a:Node<T>*p=front->next;j=1;b:while(p&&j!=1):p=p->next‚:j++c:if(!p)throw”error”d:returnp(7)按位查找函数自然语言描述:a:初始化工作指针p和计数器j,p指向第一个结点,j=1b:循环以下操作,找到这个元素或者p指向最后一个结点:判断p指向的结点是不是要查找的值,如果是,返回j,否则p指向下一个结点,并且j的值加一c:如果找到最后一个结点还没有找到要查找的元素,返回查找失败信息伪代码描述a:Node<T>*p=front->next;j=1;b:while(p):if(p->next==x)returnjp=p->next

最近更新

建筑安装工程有限公司投标书 66页

乡镇卫生院合理用药 135页

国际疾病分类专家讲座 41页

重庆制造业科技创新与投资前景 8页

最新劳动合同法全文 25页

26.1.2 第1课时 反比例函数的图象和性质 人教.. 16页

2024年云南新兴职业学院单招职业适应性测试题.. 46页

2024年云南能源职业技术学院单招职业倾向性考.. 56页

2024年信阳涉外职业技术学院单招职业适应性考.. 55页

2024年兴安职业技术学院单招职业倾向性考试必.. 57页

2024年内蒙古科技职业学院单招综合素质考试题.. 45页

2024年南京信息职业技术学院单招职业技能考试.. 54页

2024年厦门软件职业技术学院单招职业技能测试.. 55页

2024年吉林工程职业学院单招职业技能测试必刷.. 57页

2024年呼和浩特职业学院单招职业技能考试必刷.. 56页

2024年四川幼儿师范高等专科学校单招职业适应.. 54页

企业员工读书俱乐部2025主题书单分享会演示文.. 23页

企业部门季度绩效考核与2025目标规划PPT框架 24页

光盘行动公益讲座2025简约卡通粮食节约PPT课件.. 23页

冠心病健康教育主题PPT模板 27页

西餐厅楼面主管岗位职责 1页

制造业数字化转型成果汇报立体紫灰渐变2025专.. 29页

分数巧算基础知识 5页

卡通课件PPT模板 26页

教科版科学三年级下册全册知识点归纳整理 6页

电子及计算机毕业设计周记 4页

某公司质量管理体系及质量手册(doc 45页) 45页

尼日尔矿业法 2页

生物安全标准操作规程 12页

生物安全体系文件 5页