数据结构:队列
2023-09-27 14:22:47 时间
#include <stdio.h>
#define MAXSIZE 100
typedef int DataType;
typedef struct
{
DataType data[MAXSIZE];
int front;
int rear;
}SeqQueue;
void InitQueue(SeqQueue *Q);
int EmptyQueue(SeqQueue *Q);
int InQueue(SeqQueue *Q , DataType x);
int DeQueue(SeqQueue *Q , DataType *x);
int GetFront(SeqQueue *Q , DataType *x);
int main()
{
int n , x , flag;
SeqQueue Q;
printf("请输入入队的元素个数:");
scanf("%d",&n);
printf("请输入%d个元素:",n);
for(int i = 0 ; i < n ; i++){
scanf("%d",&x);
flag = InQueue(&Q , x);
}
if(flag){
printf("入队成功!\n");
}else{
printf("入队失败!\n");
}
printf("请输入要出队的元素个数:");
scanf("%d",&n);
printf("出队的元素依次为:");
for(int i = 0 ; i < n ; i++){
flag = DeQueue(&Q ,&x);
printf("%5d",x);
}
if(flag){
printf("出队成功!\n");
}else{
printf("出队失败!\n");
}
if(flag = GetFront(&Q ,&x)) {
printf("当前队头元素为:%d\n",x);
}
return 0;
}
void InitQueue(SeqQueue *Q)
{
Q->front = Q->rear = 0;
printf("队列初始化成功!");
}
int EmptyQueue(SeqQueue *Q)
{
if(Q->front == Q->rear){
return 1;
}else{
return 0;
}
}
int InQueue(SeqQueue *Q , DataType x)
{
if((Q->rear+1)%MAXSIZE == Q->front){
printf("队满,不能入队!");
return 0;
}else{
Q->rear = (Q->rear+1)%MAXSIZE;
Q->data[Q->rear] = x;
return 1;
}
}
int DeQueue(SeqQueue *Q , DataType *x)
{
if(EmptyQueue(Q)){
printf("队空,不能出队元素!");
return 0;
}else{
Q->front = (Q->front+1)%MAXSIZE;
*x = Q->data[Q->front];
return 1;
}
}
int GetFront(SeqQueue *Q , DataType *x)
{
if(EmptyQueue(Q)){
printf("队空,无队头元素!");
return 0;
}else{
*x = Q->data[(Q->front+1)%MAXSIZE];
return 1;
}
}
void ShowQueue(SeqQueue *Q)
{
int p = Q->front;
if(p == Q->rear){
printf("队空,无元素!");
}else{
printf("从队头起队列的元素为:");
while(p != Q->rear){
printf("%5d",Q->data[(p+1)%MAXSIZE]);
p++;
}
}
}
相关文章
- 数据结构Python版(四)——队列
- 一文带你认识队列数据结构
- 【数据结构与算法】队列的使用以及案例
- 数据结构(二):链表、链队列
- 【转】NoSQL初探之人人都爱Redis:(3)使用Redis作为消息队列服务场景应用案例
- Java开发自学技巧!延迟队列有哪些实现方案说说你的看法
- 栈和队列-第3章-《数据结构题集》习题解析-严蔚敏吴伟民版
- 3-7-队列的链式存储-栈和队列-第3章-《数据结构》课本源码-严蔚敏吴伟民版
- 3-4-迷宫寻路-栈和队列-第3章-《数据结构》课本源码-严蔚敏吴伟民版
- 线程池中的阻塞队列选择
- 【数据结构】《大话数据结构》队列代码汇总
- 【数据结构】队列(C++)
- 【数据结构4】队列
- 数据结构--循环队列
- 【并发编程十六】无锁数据结构(2)——无锁队列
- Python 数据结构_队列
- 浅谈算法和数据结构: 一 栈和队列
- python学习之数据结构(四):数据结构与算法:栈、队列