队列数据结构实验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 struc 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)%MAXQSIZE==Q.front)return ERROR; //队列满

Q.base[Q.rear]=e;

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

}

//若队列不空则删除Q的队头元素用e返回其值并返回O K; 否则返回ERRO RStatus DeQueue(SqQueue&Q,QElemType&e)

{if(Q.front==Q.r ear) 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;int tag 1=0;int tag2=1;

#define MAXQSIZE 5 //最大队列长度typedef struc 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)%MAXQSIZE==Q.front)

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

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

}if((((Q.rear+1) /MAXQSIZE))==tag2)

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

}

}//return ERROR; //队列满

Q.base[Q.rear]=e;

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

}

//若队列不空则删除Q的队头元素用e返回其值并返回O K; 否则返回ERRO RStatus DeQueue(SqQueue&Q,QElemType&e)

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

Q.front=(Q.front+1)%MAXQ S IZE;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 struc 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)

{

Q.base[Q.rear]=e;

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

}

//若队列不空则删除Q的队头元素用e返回其值并返回O K; 否则返回ERRO RStatus DeQueue(SqQueue&Q,QElemType&e)

{e=Q.base[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");}

HostSlim,双E5-2620v2/4x 1TB SATA大硬盘,荷兰服务器60美元月

hostslim美国独立日活动正在进行中,针对一款大硬盘荷兰专用服务器:双E5-2620v2/4x 1TB SATA硬盘,活动价60美元月。HostSlim荷兰服务器允许大人内容,不过只支持电汇、信用卡和比特币付款,商家支持7天内退款保证,有需要欧洲服务器的可以入手试试,记得注册的时候选择中国,这样不用交20%的税。hostslim怎么样?HostSlim是一家成立于2008年的荷兰托管服务器商,...

RAKsmart(年79元),云服务器年付套餐汇总 - 香港 美国 日本云服务器

RAKsmart 商家从原本只有专注于独立服务器后看到产品线比较单薄,后来陆续有增加站群服务器、高防服务器、VPS主机,以及现在也有在新增云服务器、裸机云服务器等等。机房也有增加到拥有洛杉矶、圣何塞、日本、韩国、中国香港等多个机房。在年前也有介绍到RAKsmart商家有提供年付129元的云服务器套餐,年后我们看到居然再次刷新年付云服务器低价格。我们看到云服务器低至年79元,如果有需要便宜云服务器的...

华为云(69元)828促销活动 2G1M云服务器

华为云818上云活动活动截止到8月31日。1、秒杀限时区优惠仅限一单!云服务器秒杀价低至0.59折,每日9点开抢秒杀抢购活动仅限早上9点开始,有限量库存的。2G1M云服务器低至首年69元。2、新用户折扣区优惠仅限一单!购云服务器享3折起加购主机安全及数据库。企业和个人的优惠力度和方案是不同的。比如还有.CN域名首年8元。华为云服务器CPU资源正常没有扣量。3、抽奖活动在8.4-8.31日期间注册并...

99xxx为你推荐
pwpw域名的技巧网站运营一般网站如何运营照片转手绘照片转手绘用什么APP神雕侠侣礼包大全神雕侠侣陈晓礼包兑换码怎么获得安装迅雷看看播放器迅雷看看播放器安装mate8价格华为mate8 128g售价多少钱ios系统ios系统的手机有哪些?虚拟专用网安卓手机的虚拟专用网设置是什么东西?怎么用?如何快速收录如何做到让百度快速收录网站优化方案几种常用的网站优化方法
hostmaster flashfxp怎么用 westhost bluehost sub-process 远程登陆工具 一点优惠网 毫秒英文 炎黄盛世 合租空间 免费防火墙 中国电信测速网 台湾google 阿里云免费邮箱 双线空间 阿里dns 存储服务器 电信主机托管 globalsign 性能测试工具 更多