- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构实验之单链表的创建.doc
实验四:单链表的创建
[实验题目]
首先建立一个单链表,然后建立主程序测试:将1T0个整数放入这个链表,从键盘上 任意输入一个整数,判断这个整数是否在链表内,然后再将链表内所以数据输出出来。
[概要分析]
建一个Li nearList类的头文件LinearList. h,将相应的方法设虚写在public中,再建 一个子类SingleList类的头文件SingleList, h将其父类的方法具体实现,最后再建立主程 序测试即可。
[详细设计]
类的结构
class Class Model
T:class
Node
+ element: T + link: NodeT*
T:classSingleListfirst: NodeT*+ Delete(int)
T:class
SingleList
first: NodeT*
+ Delete(int) : bool
+ Find(int, T) : bool {query}
+ lnsert(intt T): bool
+ IsEmptyO: bool {query}
+ Length(): int {query}
+ Output(ostream) : void {query}
+ Search(T) : int {query}
+ SingleList()
+ ~SingleList()
+ Update(intf T) : bool
T:class
LinearList
# n: int
+ Delete(int): bool
+ Find(int9 T): bool {query}
+ lnsert(int9 T) : bool
+ IsEmptyO: bool {query}
+ Length(): int {query}
+ Output(ostrearr)丿:void {query}
+ Search(T): int {query}
+ Update(intf T): bool
电子二班 1305012035 马璐瑶
核心代码
(1)插入
思路:范围不对不能插入if (i-l||in-l){return false;}
正常插入时找到第i个结点for (int j=O;ji;j++){p=p-link;J
在表头插入:if(i==-1){t-link=first;first=t;}
在表中插入:if (i-l){t-link=p-link; p-link=t;}
最后不要忘记了总的长度加一:n++;
具体代码:
template class T
bool SingleListT::Insert(int i,T x)
{
NodeT *p=first,*t; t=new NodeT;
t-clcmcnt=x;
t-link=NULL;
if (i-l||in-l)
{
return false;
}
for (int j=O;ji;j++)
{
p=p-link;
}
if (i==-l)
{
t-link=first;
first=t;
}
else
{
t-link=p-link; p-link=t;
}
n++;
return true;
}
(2)删除
思路:为空不能删 if (IsEmpty()){return false;}
范围不对不能删 if (i()||in-l){return false;}
正常删除先找至lj q 的位置 for (int j=O;ji-l;j++){q=q-link;}
在表头删除:if (i==0){first=first-link; delete p;}
在表中删除:if (i0){p=q-link; q-link=p-link; delete p;} 最后不耍忘记了总的长度加一:n-?;
具体代码:
template class T
bool SingleListT::Delete(int i)
NodcT *p=first,*q=first;
if (IsEmptyO)
return false;
}
if(i()||in-l)
{
return false;
}
for (int j=O;ji-l ;j++)
{ q=q-link;
}
if(i==0)
{
first=first-link; delete p;
}
else
{ p=q-link; q-link=p-link;
delete p;
}
n??;
return true;
}
[程序代码]
l.LinearList.h
#ifndef LinearList_h
#define LinearList_h
#include iostream.h template class T class LinearList
{
public:
virtual bool
您可能关注的文档
- 数学实验赋予儿童几何学习以生长的力量.docx
- 数学小课题研究例子899314271.doc
- 数学广角抽屉设计案例.doc
- 数学应用成果信息技术应用成果(教学设计方案).doc
- 数学建模化肥调拨优化问题.doc
- 数学建模国赛一等奖.doc
- 数学建模对增强理工科高职生就业优势积极作用.docx
- 数学建模必备程序.doc
- 数学建模投资的收益和风险问题.doc
- 数学建模模版(真正的经典).docx
- 艾瑞咨询-2025年中国舒适眼镜白皮书.pptx
- 专题01 Units 4-6 重点语法归纳 七年级英语上学期期末考点(仁爱科普版2024).pptx
- 安全生产事故隐患大排查“百日攻坚”行动方案.PDF
- 第8课 欧洲的思想解放运动 课件高一下学期统编版(2019)必修中外历史纲要下(3).pptx
- 机械制图相关知识C语言及投影法等内容测试试卷.docx
- 第8课 欧洲的思想解放运动高一下学期统编版(2019)必修中外历史纲要下.pptx
- 第8课 现代社会的移民和多元文化 课件-高二历史统编版(2019)选择性必修三.pptx
- AIGC赋能高职“汽车新媒体营销”课程的应用探索.pdf
- 第8课 中国古代的法治与教化 课件-高三历史统编版(2019)选择性必修1一轮复习.pptx
- 21(null)大型购物中心 室内空气质量 解决方案.pdf
文档评论(0)