C语言环形队列_第1页
C语言环形队列_第2页
C语言环形队列_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、/ 环形队列,实现队列的入队,出队和显示操作/ 注意: 只有一个数组。#define MaxSize 10#include#includetypedef struct que int quMaxSize;int front;/front 和 rear 表示数组值的序号int rear;int tag; /front=rear 时表示队列满或空的标志:tag=1表示满,tag=O表示空Que;Que *InitQu()/ 初始化 Que *q;q=(Que *)malloc(sizeof(Que); 分配空间q-front=0;q-rear=0;q-tag=0;return q;int EnQu

2、(Que *q,int x) 入队if(q-rear=q-front & q-tag=1)表 示队列已满return 0;else printf( 入队成功! n); q-quq-rear=x;q-rear=(q-rear+1)%MaxSize; /尾指针向后走一步if(q-rear=q-front) /若有元素入队以后出现 q-rear=q-front,贝卩表示队 列满 q-tag=1;return 1;int DeQu(Que *q) 出队if(q-rear=q-front & q-tag=O) 表示队空 return 0;else printf(出队成功! n);q-quq-front=

3、0;/ 将队头元素的值赋值为 0q-fro nt=(q-fro nt+1)%MaxSize; 头指针向后走一步if(q-rear=q-front)/若有元素出队以后出现 q-rear=q-front,则表示队 列空 q-tag=0;return 1;void Display(Que *q)显示int n,i;n为队列中元素的个数if(q-rear=q-front & q-tag=1)/ 队列满n=MaxSize;elsen=(q-rear-q-front+MaxSize)%MaxSize;for(i=0;iqu(q-front+i)%MaxSize);printf(n);int main()Que *q;int c,x;代表选择项q=InitQu();while(1)printf(0 退出 1入队2出队3显示:);scanf(%d,&c);if(c=0)break;else if(c=1)scanf(%d,&x);if(!EnQu(q,x)printf(队已满! n);else if(c=2)if(!DeQu(q)printf(” 队已空! n);else i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论