队列的出入栈问题

编程入门 行业动态 更新时间:2024-10-28 01:17:42

<a href=https://www.elefans.com/category/jswz/34/1771257.html style=队列的出入栈问题"/>

队列的出入栈问题

#include<stdio.h>
#include<stdlib.h>
typedef int ElemType;
#define MaxSize 10
#define ERROR -1
typedef struct Node {//数组形式储存数值ElemType* data;struct Node* next;int rear;int front;
};
typedef Node* List;void push(ElemType elem, List L) {//判断队列是否满载//这里rear需要+1,才能代表是再添加将达到满载,此时情况已经满了,再加会真正报错if ((L->rear + 1) % MaxSize == L->front) {printf("队列已满");return;}//这里rear的新值为以MaxSize取余后的值L->rear = (L->rear + 1) % MaxSize;//入栈数值以数组形式储存L->data[L->rear] = elem;
}
ElemType pop(List L) {//满队列不会出现front=rear的情况if (L->front == L->rear) {printf("队列空");//pop函数返回值为ELemType型,即非void型,需要一个返回值,不可以同push一样空返回return ERROR;}else {//?//返回值是出栈后的首项L->front = (L->front + 1) % MaxSize;return L->data[L->front];}
}int main() {//队列创建List L;L = (Node*)malloc(sizeof(Node));L->next = NULL;L->rear = 0;L->front = 0;ElemType elem;scanf_s("%d", &elem);//入栈push(elem, L);//出栈pop(L);
}

更多推荐

队列的出入栈问题

本文发布于:2024-02-25 02:41:58,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1697513.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:队列

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!