2025-04-30
模板为了保障事情或工作顺利、圆满进行,就需要我们事先制定方案,方案是从目的、要求、方式、方法、进度等方面进行安排的书面计划。那么什么样的方案才是好的呢?下面是小编帮大 ... [详细]
想必学计算机专业的同学都知道数据结构是一门比较重要的课程,那么,下面是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 '{': 鸡年祝福短语10字之内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 为空 高中生英语自我介绍pptreturn OK; } Status DeQueue「LinkQueue &Q,ElemType &e」 |
2025-04-30
模板为了保障事情或工作顺利、圆满进行,就需要我们事先制定方案,方案是从目的、要求、方式、方法、进度等方面进行安排的书面计划。那么什么样的方案才是好的呢?下面是小编帮大 ... [详细]
2025-03-09
范文(通用9篇)活动已经圆满收场了,在这段活动中,一定有很多值得分享的体会吧,不如让我们总结经验,展望未来。千万不能认为活动总结随便应付就可以,下面是小编帮大家整理的范文(通用9 ... [详细]
2025-04-17
在学习、工作生活中,报告的使用频率呈上升趋势,多数报告都是在事情做完或发生后撰写的。相信许多人会觉得报告很难写吧,下面是小编帮大家整理的,欢迎大家借鉴与参考,希望对大家有 ... [详细]
2025-05-11
演讲稿具有逻辑严密,态度明确,观点鲜明的特点。在不断进步的时代,演讲稿与我们的生活息息相关,那么一般演讲稿是怎么写的呢?下面是小编整理的,仅供参考,大家一起来看看吧。1数字是 ... [详细]
2024-11-25
总结是事后对某一时期、某一项目或某些工作进行回顾和分析,从而做出带有规律性的结论,它可以帮助我们总结以往思想,发扬成绩,为此要我们写一份总结。总结一般是怎么写的呢?以下是 ... [详细]
[必备]在年少学习的日子里,许多人都参加过一些经典主题的主题班会吧?主题班会要适合学生
组织行为学试题及答案下面是小编收集整理的组织行为学试题及答案,希望对您有所帮助!如
作为一名默默奉献的教育工作者,时常会需要准备好教案,教案是教材及大纲与课堂教学的纽带
(通用5篇)在日常学习、工作和生活中,保不齐会遇到一些意料之外的事件或事故,为了将危害降
在平平淡淡的日常中,难免会发生一些不在自己预料之中的事件,为了控制事故的发展势态,往往
30句小暑到来气温升,我的祝福不能等。清风飞舞绕身旁,送去惬意和凉爽。满塘荷花吐芬芳,甜
工作中,有人入职,自然有人辞职,有时候会觉得自己不适合这个岗位了,这时候需要好好地写一封
关于汇编九篇在生活、工作和学习中,大家都经常接触到作文吧,借助作文可以宣泄心中的情感