队列数据结构实验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");}

易探云香港云服务器价格多少钱1个月/1年?

易探云怎么样?易探云是目前国内少数优质的香港云服务器服务商家,目前推出多个香港机房的香港云服务器,有新界、九龙、沙田、葵湾等机房,还提供CN2、BGP及CN2三网直连香港云服务器。近年来,许多企业外贸出海会选择香港云服务器来部署自己的外贸网站,使得越来越多的用户会选择易探云作为网站服务提供平台。今天,云服务器网(yuntue.com)小编来谈谈易探云和易探云服务器怎么样?具体香港云服务器多少钱1个...

Sharktech云服务器35折年付33美元起,2G内存/40G硬盘/4TB流量/多机房可选

Sharktech又称SK或者鲨鱼机房,是一家主打高防产品的国外商家,成立于2003年,提供的产品包括独立服务器租用、VPS云服务器等,自营机房在美国洛杉矶、丹佛、芝加哥和荷兰阿姆斯特丹等。之前我们经常分享商家提供的独立服务器产品,近期主机商针对云虚拟服务器(CVS)提供优惠码,优惠后XS套餐年付最低仅33.39美元起,支持使用支付宝、PayPal、信用卡等付款方式。下面以XS套餐为例,分享产品配...

创梦网络-四川大带宽、镇江电信服务器云服务器低至56元

达州创梦网络怎么样,达州创梦网络公司位于四川省达州市,属于四川本地企业,资质齐全,IDC/ISP均有,从创梦网络这边租的服务器均可以备案,属于一手资源,高防机柜、大带宽、高防IP业务,一手整C IP段,四川电信,一手四川托管服务商,成都优化线路,机柜租用、服务器云服务器租用,适合建站做游戏,不须要在套CDN,全国访问快,直连省骨干,大网封UDP,无视UDP攻击,机房集群高达1.2TB,单机可提供1...

99xxx为你推荐
51自学网站网上自学网站有哪些?最好是免费的,我想学习网页设计今日热点怎么删除怎么删除手机百度实时热点qq空间装扮qq空间的装扮空间在哪?数据库损坏数据库坏了,怎么修复?安装迅雷看看播放器迅雷看看播放器下了安装不了二层交换机什么是三层交换机?什么是二层叫交换机?有什么区别?bluestackbluestacks下载的东西在哪虚拟专用网安卓手机的虚拟专用网设置是什么东西?怎么用?什么是云平台什么是云系统?网管工具网吧工具有什么?
高防服务器租用 河北服务器租用 如何查询域名备案号 已备案域名出售 greengeeks 百度云100as pccw 海外服务器 softbank官网 创宇云 qq数据库下载 tna官网 qq对话框 申请网页 双线asp空间 带宽租赁 云服务器比较 浙江服务器 双线空间 主机返佣 更多