- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构 实验报告
T1223-3-21余帅
实验
实验题目:
仅仅做链表部分
难度从上到下
双向链表,带表头,线性表常规操作。
循环表,带表头,线性表常规操作。
单链表,带表头,线性表常规操作。 实验目的:
了解和掌握线性表的逻辑结构和链式存储结构,掌握单链表 的基本算法及相关的时间性能分析。
实验要求:
常规操作至少有:
数据输入或建立
遍历
插入
删除
必须能多次反复运行
实验主要步骤:
1、 分析、理解给出的示例程序。
2、 调试程序,并设计输入数据,测试程序的如下功能:
数据输入或建立
遍历
插入
4?删除
单链表示意图:
创建
head
data
data
NULL
head
删除
data
data
了
data
r
data
NULL
head
NULL
双向循环链表示意图:
创建删除
创建
删除
程序代码:
//单链表
#i ncludeiostream.h
#includewindows.h
const MAX=5;
enum returninfo{success,fail,overflow,underflow,range_error};
int defaultdata[MAX]={11,22,33,44,55};
class node
{
public:
int data;
node *next;
};
class linklist
{
private:
node *headp;
protected:
int count;
public:
linklist();
~linklist();
bool empty();
void clearlist();
returninfo create(void);
returninfo insert(int position,const int item);
returninfo remove(int position) ;
returninfo traverse(void);
};
linklist::linklist()
{
headp = new node;
headp-next = NULL;
count=0;
}
linklist::~linklist()
{
clearlist();
delete headp;
}
bool linklist::empty()
{
if(headp-next==NULL)
return true;
else
return false;
void linklist::clearlist()
{
node *searchp=headp-next,*followp=headp;
while(searchp-next!=NULL)
{ followp=searchp; searchp=searchp-next; delete followp;
}
headp-next = NULL;
count = 0;
}
returninfo linklist::create()
{
node *searchp=headp,*newnodep;
for(int i=0;iMAX;i++)
{
newnodep = new node; newnodep-data = defaultdata[i];
newnodep-next = NULL; searchp-next = newnodep; searchp = searchp-next; count++;
}
searchp-next = NULL; traverse();
return success;
}
插入一returninfo linklist::insert(int position,const int item) // 个结点 {
插入一
if(position=0 || position=count)
return range_error;
node *newnodep=new node,*searchp=headp-next,*followp=headp;
for(int i=1; iposition searchp!=NULL;i++) {
followp=searchp; searchp=searchp-next;
给数据赋值 注意此处的次序相关性计数器加一
给数据赋值 注意此处的次序相关性
计数器加一
newnodep-data=item; // newnodep-next=followp-next; // followp-next=newnodep;
count++; //
return success;
}
returninfo linklist::remove(int position) // 删除一个结点
{
if(empty())
return under
您可能关注的文档
最近下载
- 徒手整形协议书模板.docx VIP
- 2022年9月全国青少年软件编程(图形化)等级(三级)考试卷.pdf VIP
- 第二章法的渊源、分类及效力.ppt VIP
- 《李清照》诗词109篇大全集.pdf VIP
- 《高分子防水卷材》课件.ppt VIP
- 河北省石家庄市2024-2025学年高一下学期期末考试 数学试卷[含答案].docx
- 中国人民大学《法理学》课件-第六讲 法的渊源与效力.pptx VIP
- 法理学—法的渊源、分类和效力.ppt VIP
- 法理学第四章_法的渊源、分类、效力.ppt VIP
- 柯尼卡美能达 柯美 bh 246 236 226 216 206 复印机中文维修手册 (1).pdf VIP
文档评论(0)