队列[课程]数据结构实验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");

Hostio€5/月KVM-2GB/25GB/5TB/荷兰机房

Hostio是一家成立于2006年的国外主机商,提供基于KVM架构的VPS主机,AMD EPYC CPU,NVMe硬盘,1-10Gbps带宽,最低月付5欧元起。商家采用自己的网络AS208258,宿主机采用2 x AMD Epyc 7452 32C/64T 2.3Ghz CPU,16*32GB内存,4个Samsung PM983 NVMe SSD,提供IPv4+IPv6。下面列出几款主机配置信息。...

incogne$2.5/月t芬兰VPS,AMD Ryzen、1Gbps带宽

IncogNet LLC是个由3个人运作的美国公司,主要特色是隐私保护,号称绝对保护用户的隐私安全。业务涵盖虚拟主机、VPS等,支持多种数字加密货币、PayPal付款。注册账号也很简单,输入一个姓名、一个邮箱、国家随便选,填写一个邮箱就搞定了,基本上不管资料的真假。当前促销的vps位于芬兰机房,全部都是AMD Ryzen系列的CPU,性能不会差的!5折优惠码:CRYPTOMONTH,支持:BTC,...

HostKvm5.95美元起,香港、韩国可选

HostKvm发布了夏季特别促销活动,针对香港国际/韩国机房VPS主机提供7折优惠码,其他机房全场8折,优惠后2GB内存套餐月付仅5.95美元起。这是一家成立于2013年的国外主机服务商,主要提供基于KVM架构的VPS主机,可选数据中心包括日本、新加坡、韩国、美国、中国香港等多个地区机房,均为国内直连或优化线路,延迟较低,适合建站或者远程办公等。下面分享几款香港VPS和韩国VPS的配置和价格信息。...

99xxx为你推荐
iphone5解锁苹果5手机怎么解屏幕锁人人时光机求 《小叮当》的日语歌词。最好有片假名的arm开发板单片机开发板与ARM开发板有什么不同?显卡温度多少正常显卡温度多少算正常?办公协同软件免费的多人协同办公软件哪些,我了解的有钉钉、企业微信,其他的还有么?网店推广网站可以介绍几个可以做店铺推广的网站吗?vbscript教程请教一下高手们,这个VBS脚本难不难啊,我想学学这个,但是又不知道该从哪入手,希望高手指点指点??开机滚动条电脑开机有滚动条的画面创维云电视功能什么是创维云电视啊?创维云电视是什么意思?二层交换机什么是二层交换机
未注册域名查询 vps租用 godaddy优惠码 免费ftp空间 lighttpd 免费博客空间 全能主机 免费ftp站点 java空间 godaddy域名证书 dux 免费吧 服务器干什么用的 最好的qq空间 如何安装服务器系统 数据库空间 云服务器比较 服务器防火墙 申请免费空间 浙江服务器 更多