数据结构中队列的相关操作
来源:互联网 发布:西安监测数据造假案件 编辑:程序博客网 时间:2024/06/05 15:02
#include<stdio.h>
#include<stdlib.h>
#define MAXQSIZE 100
#define OK 2
#define ERROR 0
#define OVERFLOW -1
#define TRUE 1
#define FALSE 0
typedef int QElemType;
typedef int Status;
typedef struct{
QElemType *base;
int front;
int rear;
}SqQueue;
Status InitQueue(SqQueue&Q){ //构造一个空队列Q
Q.base=(QElemType *)malloc(MAXQSIZE*sizeof(QElemType));
if(!Q.base)exit(OVERFLOW); //存储分配失败
Q.front=Q.rear=0;
return OK;
}
Status EnQueue(SqQueue&Q,QElemType e){ //插入元素e为Q的新队尾元素
if((Q.rear+1)%MAXQSIZE==Q.front)return ERROR; //队已满
Q.base[Q.rear]=e;
Q.rear=(Q.rear+1)%MAXQSIZE;
return OK;
}
Status DeQueue(SqQueue&Q) {
//若队列不空,则删除Q的队头元素,用e输出其值,并返回OK;
//否则返回ERROR
QElemType e;
if(Q.front==Q.rear)return ERROR;
else{
e=Q.base[Q.front];
printf("%d",e);
Q.front=(Q.front+1)%MAXQSIZE;
}
return OK;
}
int main(){ //主函数
SqQueue Q;
Status a[15];
InitQueue(Q);
printf("输入七个数依次进队:\n");
for(int i=0;i<7;i++)
{ //通过数组进队
scanf("%d",&a[i]);
EnQueue(Q,a[i]);
}
printf("无间隔出队:\n");
for(int i=0;i<7;i++)
DeQueue(Q);
return 0;
}
- 数据结构中队列的相关操作
- C语言数据结构中队列的相关操作
- 数据结构中队列的基本操作实现
- STL中队列的相关操作
- 数据结构中队列的简单操作(C语言)
- java数据结构中队列的使用
- 数据结构中队列
- C++中队列的建立和操作
- C++ 实现数据结构中队和栈的操作
- Java 中队列的使用
- java中队列的使用方法
- java 中队列的使用
- STL中队列的使用
- Java中队列的使用
- Android中队列的实现
- java中队列的使用
- Tensorflow中队列的使用
- Swift中队列的实现
- rootViewController获取遇到的坑
- jQuery 实现单选按钮(radio)勾选和取消,使用prop()代替attr() 踩坑博客
- PowerDesigner最基础的使用方法入门学习
- 计算电费
- 将列表中的元素去重
- 数据结构中队列的相关操作
- 关于ios打包
- 登录页面的背景图
- spring cloud 拆分项目时@autowired 怎么也注入不进来
- 面向对象:每天早上醒来,看见你和阳光都在,这便是我想要的未来
- 金额小写转大写
- java基础加强(jdk新特性 javaa设计模式 反射)
- 颤抖吧!阿里出了个不明觉厉的技术成长包,光PPT就有2个G!
- Docker学习系列从零开始之基于SSH镜像制作mysql的镜像【六】