队列[课程]数据结构实验5_99XXX

99xxx  时间:2021-02-22  阅读:()

《数据结构》实验报告

实验序号 5 实验项目名称 队列的操作

附源程序清单

1

#inc lude<stdlib.h>

#inc lude<stdio.h>

#define ERROR 1

#define OK 0

#define OVERFLOW 1typedef int QElemType;typedef int Status;

#define MAXQSIZE 100 //最大队列长度typedef s truc t {

QElemType*bas e; //动态分配存储空间int front; //头指针若队列不空指向队列头元素int rear; //尾指针若队列不空 //指向队列尾元素的下一个位置

}SqQueue;

//构造一个空队列Q

Status InitQueue(SqQueue&Q)

{

Q.bas e=(QElemType*)malloc (MAXQSIZE*sizeof(QElemType));if (!Q.base) exit (OVERFLOW);//存储分配失败

Q.front=Q.rear=0;return OK;

}

//插入元素e为Q的新的队尾元素

Status EnQueue(SqQueue&Q,QElemType e)

{if((Q.rear+1)%MAXQ SIZE==Q.front)return ERROR; //队列满

Q.base[Q.rear]=e;

Q.rear=(Q.rear+1)%MAXQSIZE;return OK;

}

//若队列不空则删除Q的队头元素用e返回其值并返回OK; 否则返回ERRORStatus DeQueue(SqQueue&Q,QElemType&e)

{if(Q.front==Q.rear) return ERROR;e=Q.base[Q.front];

Q.front=(Q.front+1)%MAXQ SIZE;return OK;

}void main()

{char i;int n=0;

QElemType j=0;

SqQueue S;

InitQueue(S); //初始化队列printf("元素入队列,回车结束\n");while((i=getchar())!='\n')

{

EnQueue(S,i); //元素入队列n++;

}printf("元素出队列\n");for(i=0; i<n; i++)

{

DeQueue(S,j); //元素出队列printf("%c",j);

}printf("\n");

}

2

#inc lude<stdlib.h>

#inc lude<stdio.h>

#define ERROR 1

#define OK 0

#define OVERFLOW 1typedef int QElemType;typedef int Status;int tag 1=0;int tag2=1;

#define MAXQSIZE 5 //最大队列长度typedef s truc t {

QElemType*bas e; //动态分配存储空间int front; //头指针若队列不空指向队列头元素int rear; //尾指针若队列不空 //指向队列尾元素的下一个位置

}SqQueue;

//构造一个空队列Q

Status InitQueue(SqQueue&Q)

{

Q.base=(QElemType*)malloc (MAXQSIZE*sizeof(QElemType));if (!Q.base) exit (OVERFLOW);//存储分配失败

Q.front=Q.rear=0;return OK;

}

//插入元素e为Q的新的队尾元素

Status EnQueue(SqQueue&Q,QElemType e)

{if((Q.rear+1)%MAXQ SIZE==Q.front)

{if((((Q.rear+1) /MAXQSIZE))==tag 1)

{printf("队列为空\n");

}if((((Q.rear+1) /MAXQ S IZE))==tag2)

{printf("队列为满\n");

}

}//return ERROR; //队列满

Q.base[Q.rear]=e;

Q.rear=(Q.rear+1)%MAXQSIZE;return OK;

}

//若队列不空则删除Q的队头元素用e返回其值并返回OK; 否则返回ERRORStatus DeQueue(SqQueue&Q,QElemType&e)

{if(Q.front==Q.rear) r eturn ERROR;e=Q.base[Q.front];

Q.front=(Q.front+1)%MAXQ SIZE;return OK;

}void main()

{char i;int n=0;

QElemType j=0;

SqQueue S;

InitQueue(S); //初始化队列printf("元素入队列,回车结束\n");while((i=getchar())!='\n')

{

EnQueue(S,i); //元素入队列n++;

}printf("元素出队列\n");for(i=0;i<n;i++)

{

DeQueue(S,j); //元素出队列printf("%c",j);

}printf("\n");

}

2

#inc lude<stdlib.h>

#inc lude<stdio.h>

#define ERROR 1

#define OK 0

#define OVERFLOW 1typedef int QElemType;typedef int Status;

#define MAXQSIZE 5//最大队列长度static int tag=1;static int k=0;typedef s truc t

{

QElemType*bas e; //动态分配存储空间int front; //头指针若队列不空指向队列头元素int rear; //尾指针若队列不空 //指向队列尾元素的下一个位置

}SqQueue;

//构造一个空队列Q

Status InitQueue(SqQueue&Q)

{

Q.base=(QElemType*)malloc (MAXQSIZE*sizeof(QElemType));if (!Q.base) exit (OVERFLOW);//存储分配失败

Q.front=Q.rear=0;return OK;

}

//插入元素e为Q的新的队尾元素

Status EnQueue(SqQueue&Q,QElemType e)

{

Q.base[Q.rear]=e;

Q.rear=(Q.rear+1)%MAXQSIZE;return OK;

}

//若队列不空则删除Q的队头元素用e返回其值并返回OK; 否则返回ERRORStatus DeQueue(SqQueue&Q,QElemType&e)

{e=Q.bas e[Q.front];

Q.front=(Q.front+1)%MAXQ SIZE;

//if((((Q.front)%MAXQSIZE))==Q.front)

{tag=2;

}k++;return OK;

}void main()

{char i;int n=0;

QElemType j=0;

SqQueue S;

InitQueue(S); //初始化队列printf("元素入队列,回车结束\n");while((i=getchar())!='\n')

{

EnQueue(S,i); //元素入队列n++;//4

}printf("元素出队列\n");for(i=0; i<n; i++)

{

DeQueue(S,j); //元素出队列printf("%c",j);

}

// printf("%d",k);if((k/MAXQSIZE)==1)

{

printf("\n头尾相连 队列为满");}if(tag==1)

{printf("\n头尾相连 队列为空");}printf("\n");

wordpress公司网站模板 wordpress简洁高级通用公司主题

wordpress公司网站模板,wordpresss简洁风格的高级通用自适应网站效果,完美自适应支持多终端移动屏幕设备功能,高级可视化后台自定义管理模块+规范高效的搜索优化。wordpress公司网站模板采用标准的HTML5+CSS3语言开发,兼容当下的各种主流浏览器: IE 6+(以及类似360、遨游等基于IE内核的)、Firefox、Google Chrome、Safari、Opera等;同时...

桔子数据58元/月 ,Cera美西云服务器 2核4G 50G数据盘 500M带宽 1000G流量

桔子数据(徐州铭联信息科技有限公司)成立于2020年,是国内领先的互联网业务平台服务提供商。公司专注为用户提供低价高性能云计算产品,致力于云计算应用的易用性开发,并引导云计算在国内普及。目前公司研发以及运营云服务基础设施服务平台(IaaS),面向全球客户提供基于云计算的IT解决方案与客户服务,拥有丰富的国内BGP、双线高防、香港等优质的IDC资源。 公司一直秉承”以人为本、客户为尊、永...

41云,服务器8折优惠券,200G TCP防御

41云怎么样?41云是国人主机品牌,目前经营产品有国内外云服务器、CDN(高防CDN)和物理机,其中国内外云服务器又细分小类有香港限流量VPS、香港大带宽VPS、香港弹性自选VPS、香港不限流VPS、香港BGP线路VPS、香港Cera+大带宽机器、美国超防VPS、韩国原生VPS、仁川原生VPS、日本CN2 VPS、枣庄高防VPS和金华高防VPS;物理机有美国Cera服务器、香港单程CN2服务器、香...

99xxx为你推荐
伪装微信地理位置微信朋友圈怎么使用伪装地理位置依赖注入什么是侵入性?还有依赖注入?网站联盟怎样进入网站联盟中小企业信息化信息化为中小企业发展带来了哪些机遇安全漏洞计算机一般存在哪些安全漏洞?虚拟专用网虚拟专用网 有什么用处?什么是云平台什么是云系统?rewritebase为什么我写.htaccess这个 rewriterule 进入死循环了,高手帮忙修改网站排名靠前全国B2B网站排名靠前的有哪些价格在线有三种商品:第一种价格为54.91第二种价格为33.18第三种价格为61.62,也就是说怎么卖这三种商品才会等于2027.98。可以只卖两种,每种可以卖多份,在线等,麻烦大家了
中国万网域名注册 域名空间购买 流媒体服务器 godaddy续费优惠码 godaddy支付宝 表单样式 好看的留言 流量计费 美国网站服务器 太原网通测速平台 安徽双线服务器 环聊 东莞idc 游戏服务器出租 ssl加速 双11促销 镇江高防服务器 碳云 windowsserverr2 卡巴下载 更多