您的位置:首页 > 简历大全

数据结构实验报告_数据结构实验报告栈和队列

发布时间:2024-08-02 06:35:39  来源:互联网     背景:

想必学计算机专业的同学都知道数据结构是一门比较重要的课程,那么,下面是CN人才公文网小编给大家整理收集的,供大家阅读参考。

数据结构实验报告1

一、实验目的及要求

1」掌握栈和队列这两种特殊的线性表,熟悉它们的特性,在实际问题背景下灵活运用它们。

本实验训练的要点是栈”和队列”的观点;

二、实验内容

1」 利用栈,实现数制转换。

2」 利用栈,实现任一个表达式中的语法检查「选做」。

3」 编程实现队列在两种存储结构中的基本操作「队列的初始化、判队列空、入队列、出队列」;

三、实验流程、操作步骤或核心代码、算法片段

顺序栈:

Status InitStack「SqStack &S」

{

S.base=「ElemType*」malloc「STACK_INIT_SIZE*sizeof「ElemType」」;

if「!S.base」

return ERROR;

S.top=S.base;

S.stacksize=STACK_INIT_SIZE;

return OK;

}

Status DestoryStack「SqStack &S」

{

free「S.base」;

return OK;

}

Status ClearStack「SqStack &S」

{

S.top=S.base;

return OK;

}

Status StackEmpty「SqStack S」

{

if「S.base==S.top」

return OK;

return ERROR;

}

int StackLength「SqStack S」

{

return S.top-S.base;

}

Status GetTop「SqStack S,ElemType &e」

{

if「S.top-S.base>=S.stacksize」

{

S.base=「ElemType *」realloc「S.base,「S.stacksize+STACKINCREMENT」*sizeof「ElemType」」;

if「!S.base」 return ERROR;

S.top=S.base+S.stacksize;

S.stacksize+=STACKINCREMENT;

}

*S.top++=e;

return OK;

}

Status Push「SqStack &S,ElemType e」

{

if「S.top-S.base>=S.stacksize」

{

S.base=「ElemType *」realloc「S.base,「S.stacksize+STACKINCREMENT」*sizeof「ElemType」」;

if「!S.base」

return ERROR;

S.top=S.base+S.stacksize;

S.stacksize+=STACKINCREMENT;

}

*S.top++=e;

return OK;

}

Status Pop「SqStack &S,ElemType &e」

{

if「S.top==S.base」

return ERROR;

e=*--S.top;

return OK;

}

Status StackTraverse「SqStack S」

{

ElemType *p;

p=「ElemType *」malloc「sizeof「ElemType」」;

if「!p」 return ERROR;

p=S.top;

while「p!=S.base」//S.top上面一个...

{

p--;

printf「"%d ",*p」;

}

return OK;

}

Status Compare「SqStack &S」

{

int flag,TURE=OK,FALSE=ERROR;

ElemType e,x;

InitStack「S」;

flag=OK;

printf「"请输入要进栈或出栈的元素:"」;

while「「x= getchar「」」!='#'&&flag」

{

switch 「x」

{

case '「':

case '[':

case '{':

if「Push「S,x」==OK」

printf「"括号匹配成功!\n\n"」;

break;

case '」':

if「Pop「S,e」==ERROR || e!='「'」

{

printf「"没有满足条件\n"」;

flag=FALSE;

}

break;

case ']':

if 「 Pop「S,e」==ERROR || e!='['」

flag=FALSE;

break;

case '}':

if 「 Pop「S,e」==ERROR || e!='{'」

flag=FALSE;

break;

}

}

if 「flag && x=='#' && StackEmpty「S」」

return OK;

else

return ERROR;

}

链队列:

Status InitQueue「LinkQueue &Q」

{

Q.front =Q.rear=

「QueuePtr」malloc「sizeof「QNode」」;

if 「!Q.front」 return ERROR;

Q.front->next = NULL;

return OK;

}

Status DestoryQueue「LinkQueue &Q」

{

while「Q.front」

{

Q.rear=Q.front->next;

free「Q.front」;

Q.front=Q.rear;

}

return OK;

}

Status QueueEmpty「LinkQueue &Q」

{

if「Q.front->next==NULL」

return OK;

return ERROR;

}

Status QueueLength「LinkQueue Q」

{

int i=0;

班主任个人工作总结简短精辟

QueuePtr p,q;

p=Q.front;

while「p->next」

{

i++;

p=Q.front;

q=p->next;

p=q;

}

return i;

}

Status GetHead「LinkQueue Q,ElemType &e」

{

QueuePtr p;

p=Q.front->next;

if「!p」

return ERROR;

e=p->data;

return e;

}

Status ClearQueue「LinkQueue &Q」

{

QueuePtr p;

while「Q.front->next 」

{

p=Q.front->next;

free「Q.front」;

Q.front=p;

}

Q.front->next=NULL;

Q.rear->next=NULL;

return OK;

}

Status EnQueue「LinkQueue &Q,ElemType e」

公司开会通知怎么写范文

{

网红辞职报告

数据结构实验报告时间复杂度

QueuePtr p;

p=「QueuePtr」malloc「sizeof 「QNode」」;

if「!p」

return ERROR;

p->data=e;

p->next=NULL;

Q.rear->next = p;

Q.rear=p; //p->next 为空

return OK;

}

Status DeQueue「LinkQueue &Q,ElemType &e」


返回网站首页

本文评论
个人简历电子版(个人简历电子版表)
「14篇」人生天地之间,若白驹过隙,忽然而已,新一轮的招聘又在朝我们招手,这时是不是该好好写一份简历了呢?为了让您不再为写简历头疼,以下是小编为大家收集的,欢迎阅读与收藏。1姓...
日期:07-28
艾滋病宣传活动的新闻稿_艾滋病活动新闻稿
(精选5篇)随着社会不断地进步,新闻稿与我们的关系越来越密切,新闻稿如何传播新闻稿营销最重要的一个问题就是稿件的传播与效果监控。怎样写新闻稿才能更好地发挥其做用呢?下面是...
日期:08-26
计算机个人简历自我评价_计算机专业简历自我评价怎么写
(通用5篇)在日常学习、工作和生活中,我们最不陌生的就是自我评价了,自我评价会促使我们进行自我验证,从而为自我发展提供动力。那要怎么写好自我评价呢?以下是小编精心整理的(通用5...
日期:03-21
设备借用协议(仪器设备借用协议)
范本分享快乐作文1200字甲方:_________乙方:_________为了进一步加强合作,经甲乙双方友好协商,订立如下协议:一、乙方「借方」向甲方「借出方」借用如下产品做测试:二、借出日期:__...
日期:01-02
论文版权转让合同(论文版权协议模板)
有关论文版权转让合同范本在社会的各个领域,大家都经常看到论文的身影吧,借助论文可以达到探讨问题进行学术研究的目的。你所见过的论文是什么样的呢?下面是小编精心整理的有关...
日期:10-11
个人门面商铺租房合同_商铺租房合同怎么写
(通用12篇)在人民愈发重视法律的社会中,合同出现在我们生活中的次数越来越多,签订合同是为了保障双方的利益,避免不必要的争端。那么常见的合同书是什么样的呢?下面是小编精心整理...
日期:08-05
写雨的优美文段_写雨优美散文
在平时的学习、工作或生活中,大家都经常看到散文的身影吧?散文不讲究音韵,不讲究排比,没有任何的束缚及限制。想要学习写散文吗?下面是小编帮大家整理的写雨优美散文,欢迎大家分享...
日期:04-05
医院护士年度述职报告_门诊护士年度述职报告
在经济飞速发展的今天,我们使用报告的情况越来越多,报告包含标题、正文、结尾等。那么你真正懂得怎么写好报告吗?下面是小编帮大家整理的,仅供参考,希望能够帮助到大家。1尊敬的...
日期:12-16
道路施工信息最新消息_道路施工的通告
5篇1S201省道玉屏至板凳寨公路「玉屏至黄雷段」改扩建工程于20xx年6月25日已进行施工,在施工过程中容易发生山体滑坡,对过往行人及车辆存在安全隐患。为保证S201省道玉屏至板...
日期:03-19
人民币借款合同样板(人民币流动资金贷款合同)
随着人们对法律的了解日益加深,能够利用到合同的场合越来越多,合同协调着人与人,人与事之间的关系。那么大家知道正规的合同书怎么写吗?下面是小编收集整理的人民币借款合同样板...
日期:01-07
安全生产月的宣传活动总结_新安全生产法宣传总结
范文(精选15篇)不经意间,一个难忘的活动结束了,想必大家都有了很深的感触吧,是时候静下心来好好写写活动总结了。但是相信很多人都是毫无头绪的状态吧,下面是小编为大家整理的,仅供...
日期:05-22
高一学生寒假生活实践报告_高一寒假的社会实践报告
高一寒假的社会实践报告母亲很希望出门去做生意,看着叔叔、阿姨们的景况,觉得总比在家里做手工强,但苦于不懂算术。恰逢新婚的姐姐住在汕头杏花街附近。于是,我放下行李的隔天早...
日期:05-22
家庭土地协议书(家庭土地协议书)
在现在的社会生活中,协议的使用频率呈上升趋势,协议协调着人与人,人与事之间的关系。一般协议是怎么起草的呢?下面是小编收集整理的家庭土地协议书,仅供参考,希望能够帮助到大家。...
日期:03-24
幼儿园开学通知2022_幼儿园开学通知
【精品】模板集合八篇在日新月异的现代社会中,越来越多人会去使用通知,通知是用来发布法规、规章,转发上级机关、同级机关和不相隶属机关的公文,批转下级机关的公文,要求下级机关...
日期:04-11
简历设计大赛策划书(策划简历制作大赛)
(通用10篇)光阴如水,又到了寻求新的工作机会的时候,这时一份好的简历可以起到很好的作用哦。一定要好好重视简历喔!以下是小编为大家整理的,仅供参考,欢迎大家阅读。 1一、活动主题...
日期:10-03
面试文员的简历_面试文员的简历
15篇光阴迅速,一眨眼就过去了,我们又将打开新的篇章,寻求新的工作机会,这时是不是该好好写一份简历了呢?相信写简历是一个让许多人都头痛的问题,以下是小编精心整理的,希望对大家有...
日期:07-25
小学生二年级期末简短评语_二年级期末教师评语简短优美
在日常学习、工作和生活中,大家一定都接触过评语吧,评语可有效引导被评价对象朝着理想目标前进。相信许多人会觉得评语很难写吧,以下是小编为大家整理的,供大家参考借鉴,希望可以...
日期:07-25
性格腼腆的人自我介绍_性格腼腆的人自我介绍范文8篇
当换了一个新环境后,可能需要我们进行自我介绍,自我介绍是认识自我的手段。那么你真的会写自我介绍吗?下面是小编帮大家整理的,仅供参考,大家一起来看看吧。1各位面试官:我叫xx,为...
日期:04-01
过新年大班主题活动总结_大班新年主题活动创设思路
(通用17篇)不知不觉中一个精彩的活动结束了,相信你一定有很多值得分享的收获,有了这样的机会,要好好记录下来。那么好的活动总结是什么样的呢?以下是小编整理的(通用17篇),欢迎阅读与...
日期:05-14
描写妈妈的英语作文_英语作文我妈妈的日常生活
有关六篇在平平淡淡的学习、工作、生活中,大家都写过作文吧,根据写作命题的特点,作文可以分为命题作文和非命题作文。相信很多朋友都对写作文感到非常苦恼吧,以下是小编收集整理...
日期:04-06