ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:137.58KB ,
资源ID:16876086      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16876086.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(淮海工学院数据结构第2次实验Word文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

淮海工学院数据结构第2次实验Word文档格式.docx

1、3、实现循环队列的创建、进队、出队等基本操作(数据元素类型自己选取,如整型、字符型等),并实时给出队列的操作变化状态;4、实现链式队列的创建、进队、出队等基本操作(数据元素类型自己选取,如整型、字符型等),并实时给出队列的操作变化状态;(二)选做题(视自己能力而定,数量不限):任选一个或多个源程序(已经发给学委),并阅读、调试和运行程序,而后给出程序功能分析和实例运行演示;1、实现表达式求值算法程序;2、用递归算法实现汉诺塔问题算法程序;3、使用循环队列实现打印杨辉三角形算法程序。3 实验步骤与源程序 第一题:#include stdlib.h#define TRUE 1#define FAL

2、SE 0#define Size 50typedef struct int elemSize; int top;SeqStack;void InitStack(SeqStack *S) S-top =-1;int IsEmpty(SeqStack *S) return(S-top=-1?TRUE:FALSE);/判断栈空 为空是真 反之为假int IsFull(SeqStack *S) top=Size-1?/判断栈满 为满是真 反之为假int Push(SeqStack *S,int x)/压栈 if(S-top=Size-1) return(FALSE); S-top+;elemS-top

3、 = x; return(TRUE);int Pop(SeqStack *S,int *x)/弹出 top = -1) else *x = S-top;top-; return(TRUE); void main() SeqStack S; int x,y,i,l; InitStack(&S); if(!IsFull(&S) printf(栈空:n); printf(输入要压入的元素个数(50以内): scanf(%d,&l);输入要压入的元素: for(i=0;inext?FALSE;int InitStack(LinkStack *S) *S=(node*)malloc(sizeof(nod

4、e); if(NULL=*S) return FALSE; (*S)-next =NULL; return TRUE;int Push(LinkStack S, int x) LinkStackNode *temp; temp=(LinkStackNode *)malloc(sizeof(LinkStackNode); if(temp=NULL) return(FALSE); temp-data=x;next=S-next;next=temp;int Pop(LinkStack S, int *x) LinkStackNode * temp; temp=S- if(temp=NULL) nex

5、t=temp- *x=temp-data; free(temp); LinkStackNode *s;s); int x,i,l; if(IsEmpty(s)栈空 n请输入压入元素个数(50以内):请输入压入元素: Push(s,x);IsEmpty(s) Pop(s, & printf( 第三题:#define MAXSIZE 50 typedef struct int elementMAXSIZE; int front; int rear;SeqQueue;void InitQueue(SeqQueue *Q) Q-front=Q-rear=0;int EnterQueue(SeqQueu

6、e *Q, int x) if(Q-rear+1)%MAXSIZE=Q-front) elementQ-rear=x;rear=(Q-rear+1)%MAXSIZE;int DeleteQueue(SeqQueue *Q, int *x) if(Q-front=Q-rear) *x=Q-front;front=(Q-front+1)%MAXSIZE;int IsEmpty(SeqQueue *Q) return(TRUE); SeqQueue s; InitQueue(& if(IsEmpty (&s)此时为空队列n请输入进队元素个数n请输入元素n EnterQueue(&s,x);出队: D

7、eleteQueue(&s,&第四题:typedef struct Node struct Node *next;LinkQueueNode; LinkQueueNode *front ; LinkQueueNode *rear;LinkQueue;int IsEmpty(LinkQueue *Q) return Q-front =Q-rear?int InitQueue(LinkQueue *Q)front=(LinkQueueNode *)malloc(sizeof(LinkQueueNode);front!=NULL) Q-rear=Q-front;front-next=NULL; re

8、turn (TRUE); else return(FALSE);int EnterQueue(LinkQueue *Q,int x) LinkQueueNode *NewNode; NewNode=(LinkQueueNode *)malloc(sizeof(LinkQueueNode); if(NewNode! NewNode-rear-next=NewNode;rear=NewNode;int DeleteQueue(LinkQueue *Q,int *x) LinkQueueNode *p;rear) p=Q-next ;next =p-rear=p) *x=p- free(p); re

9、turn (TRUE); LinkQueue q;q); if(IsEmpty(&q)请输入进队元个数素n请输入元素:q,x);q,&4 测试数据与实验结果(可以抓图粘贴)5 结果分析与实验体会 开始在编写第一题时,将所有代码完成后一直报错,反复检查代码没有错误,后来看到头文件名是#include 因为C+习惯导致错误,后来改为就正确了,而且这些题目都是很基础的题目,在之后的编程中也遇到很多问题,如在第一题输出用printf(时,无报错,但输出是奇怪数值,绞尽脑汁都找不出问题所在,但是我注意到输出的数值都是一样的,猜测到可能是printf(中&x是错误,改为printf(后正确,可是还是说不出具体的原因,这些都表明自己的基础差,还需要多巩固基础知识。 通过这次试验编程,对栈及队列加深理解,熟记了一些代码,了解自己不足之处,收获不少。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1