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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数据结构04队列的基本操作Word格式文档下载.docx

1、 结构关系:R=|ai,ai+1 D 基本操作: InitQueue(LinkQueue *Q) 操作前提:Q是一个未初始化的链接队列 操作结果:将Q初始化为一个空的链接队列 EnQueue(LinkQueue *Q, QElemType e) 链接队列Q已存在将元素e插入到链接队列中 DeQueue(LinkQueue *Q, QElemType *e)将链接队列Q中队头元素删除,删除的元素值通过e返回 0utputQueue(LinkQueue Q)操作结果:将链接队列Q中的元素显示到屏幕上 本程序包含5个函数: 主函数main() 初始化链接队列函数 InitQueue() 进队函数En

2、Queue() 出队函数DeQueue() 输出队列中元素函数 OutputStack()各函数调用关系:主函数main调用其他四个函数 主函数的伪码main() 定义变量i,n,m; 定义一个LinkQueue 变量Lq 初始化 Lq;输入队列元素的个数; For循环(i=1;ifront=Q-rear=申请新结点;Q-front-next=NULL;(2)进队 void Push(SqStack &S,int e)定义QueuePtr变量 p;p=申请新的空间;如果申请失败,结束程序 p-data=e;如果是第一个元素则Q-next=p;rear-rear=p;(3)出队int Pop(S

3、qStack *S,int e) 如果队空则返回0;p=Q-next; *e=p-data;next=p-如果Q-rear=p则Q-rear=Q-front;;释放p的空间;返回1;(4)输出元素int OutputQueue(LinkQueue Q) p=Q.front-while(p) printf(%d ,p-data); p=p- n); 返回1; 类型定义typedef struct int *base; int front; int rear;SqQueue;void InitQueue(SqQueue &Q) Q.base=申请新的空间;如果申请失败,结束程序;Q.front=Q

4、.rear=0;int EnQueue(SqQueue *Q,int e) 如果队满了则返回1;baseQ-rear=e;rear=(Q-rear+1)%MAXQSIZE;返回0;出队int DeQueue(SqQueue *Q,int *e)DeQueue(SqQueue *Q,int *e) 如果队空则返回1; *e=Q-front;front=(Q-front+1)%MAXQSIZE; void outPutQMeue(SqQueue *Q) 定义整型变量i;For循环(i=Q-rear;输出Q-basei;换行;5调试分析 调试是出现错误,经过检查发现在某些地方分号用中文表示,出现空指

5、针问题。出现空指针问题,内存不能读取等6使用说明(1)链接队列:程序执行过程如下:提示用户输入元素个数;用户按要求输入一个整型数;程序输出构造好的链接队列;调用出队函数,并把剩余元素显示在屏幕上;(2)环型队列:提示用户输入队列元素个数;程序用输入的整型数构建一个环型队列,并输出队列元素;调用出栈函数,删除栈顶,显示栈中元素;7测试结果构造一个空的链接队列后,屏幕显示:请输入队列的元素个数:输入5后,屏幕显示建立的队列元素:1 2 3 4 5调用出队函数后,屏幕显示:2 3 4 5建立空队列,程序运行后屏幕显示:输入队列元素的长度屏幕显示队列的元素:接着屏幕又显示:队列中的第一个元素为:1调用

6、出队函数,然后输入队列中元素:8. 参考文献数据结构(c语言版)9附录源程序文件如下: #includestdio.h typedef struct QNode int data; struct QNode *next; QNode,*QueuePtr; typedef struct QueuePtr front; QueuePtr rear; LinkQueue; void InitQueue(LinkQueue *Q)rear=(QNode *)malloc(sizeof(QNode); void EnQueue(LinkQueue *Q,int e) QueuePtr p; p=(Que

7、uePtr)malloc(sizeof(QNode); if(!p)exit(1); p- if(Q-next=NULL) Q- Q- int DeQueue(LinkQueue *Q,int *e)front=Q-rear)return 0; p=Q- *e=p-rear=p)Q- free(p); return 1; int OutputQueue(LinkQueue Q) if(Q.front=Q.rear)return 0; p=Q.front- while(p) printf( p=p- void main() int i,n; int m; LinkQueue Lq;构造一个空的链

8、接队列 InitQueue(&Lq);n请输入队列的元素个数: scanf(%d,&n); for(i=1; EnQueue(&Lq,i);队列中的元素为: OutputQueue(Lq); DeQueue(&Lq,&m);删除队列中的第一个元素n此时队列中的元素为: #define MAXQSIZE 100 typedef struct int *base; int front; int rear; SqQueue; void InitQueue(SqQueue & Q.base=(int *)malloc(MAXQSIZE*sizeof(int);Q.base)exit(1); Q.fro

9、nt=Q.rear=0; int EnQueue(SqQueue *Q,int e) if(Q-rear+1)%MAXQSIZE=Q-front)return 1; return 0; int DeQueue(SqQueue *Q,int *e)rear)return 1; *e=Q- void outPutQMeue(SqQueue *Q) int i; for(i=Q- printf(,Q-basei); SqQueue sq; int n,i,m;构造空的环型队列n InitQueue(sq);请输入队列的长度:sq,i);队列的元素为: outPutQMeue(&sq); DeQueue(&sq,&队列中的第一个元素为:,m);n删除对头元素,输出队列元素:

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

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