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

HostKvm($4.25/月),俄罗斯CN2带宽大升级,俄罗斯/香港高防限量5折优惠进行中

HostKvm是一家成立于2013年的国外VPS服务商,产品基于KVM架构,数据中心包括日本、新加坡、韩国、美国、俄罗斯、中国香港等多个地区机房,均为国内直连或优化线路,延迟较低,适合建站或者远程办公等。本月,商家旗下俄罗斯、新加坡、美国、香港等节点带宽进行了大幅度升级,俄罗斯机房国内电信/联通直连,CN2线路,150Mbps(原来30Mbps)带宽起,目前俄罗斯和香港高防节点5折骨折码继续优惠中...

舍利云30元/月起;美国CERA云服务器,原生ip,低至28元/月起

目前舍利云服务器的主要特色是适合seo和建站,性价比方面非常不错,舍利云的产品以BGP线路速度优质稳定而著称,对于产品的线路和带宽有着极其严格的讲究,这主要表现在其对母鸡的超售有严格的管控,与此同时舍利云也尽心尽力为用户提供完美服务。目前,香港cn2云服务器,5M/10M带宽,价格低至30元/月,可试用1天;;美国cera云服务器,原生ip,低至28元/月起。一、香港CN2云服务器香港CN2精品线...

Digital-VM80美元新加坡和日本独立服务器

Digital-VM商家的暑期活动促销,这个商家提供有多个数据中心独立服务器、VPS主机产品。最低配置月付80美元,支持带宽、流量和IP的自定义配置。Digital-VM,是2019年新成立的商家,主要从事日本东京、新加坡、美国洛杉矶、荷兰阿姆斯特丹、西班牙马德里、挪威奥斯陆、丹麦哥本哈根数据中心的KVM架构VPS产品销售,分为大硬盘型(1Gbps带宽端口、分配较大的硬盘)和大带宽型(10Gbps...

99xxx为你推荐
木马病毒木马病毒的区别google地球打不开手机谷歌地球怎么打不开?无线路由器限速设置wifi怎么设置限速镜像文件是什么什么是镜像文件啊办公协同软件求一款国内知名的OA办公软件,谁知道有哪些呢?办公协同软件免费的多人协同办公软件哪些,我了解的有钉钉、企业微信,其他的还有么?神雕侠侣礼包大全神雕侠侣手游版四重大礼包怎么得到啊?小米3大概多少钱小米3现在多少钱idc前线求电影敢死队电影里的歌曲!mate8价格华为mate8手机参数配置如何,多少元
电信服务器租赁 骨干网 韩国电信 20g硬盘 http500内部服务器错误 parseerror 好看的桌面背景图 免费个人网站申请 美国在线代理服务器 息壤代理 空间登录首页 789 asp介绍 发证机构 此网页包含的内容将不使用安全的https 时间同步服务器 连连支付 ddos攻击器 ddos攻击器下载 云主机 更多