#include "stdio.h"
#define Maxsize 4
typedef struct Queue {
int top;
int tail;
int cq[Maxsize];
} LQ;
void QueueInit(LQ *S) {
S->top = 0;
S->tail = 0;
}
void QueueIn(LQ *S, int x) {
if ((S->tail + 1) % Maxsize == S->top) {
printf("队列已满,入队失败");
} else {
S->cq[S->tail] = x;
S->tail = (S->tail + 1) % Maxsize;
}
}
int QueueOut(LQ *S) {
if (S->top == S->tail) {
printf("队列为空,出队失败");
return -1;
}
int result = S->cq[S->top];
S->top = (S->top + 1) % Maxsize;
return result;
}
void main() {
LQ q;
QueueInit(&q);
QueueIn(&q,1);
QueueIn(&q,2);
QueueIn(&q,3);
QueueIn(&q,4);
QueueOut(&q);
QueueIn(&q,4);
QueueOut(&q);
QueueIn(&q,5);
QueueOut(&q);
QueueIn(&q,6);
}
#include <malloc.h>
#include "stdio.h"
typedef struct Queue {
int data;
struct Queue *next;
} LQ;
void LQueueIn(LQ **top, LQ **tail, int x) {
if (*top == NULL) {
*top = (LQ *) malloc(sizeof(LQ));
(*top)->data = x;
(*top)->next = NULL;
*tail = *top;
} else {
LQ *p = (LQ *) malloc((sizeof(LQ)));
p->data = x;
p->next = NULL;
(*tail)->next = p;
*tail = (*tail)->next;
}
}
int LQueueOut(LQ **top, LQ **tail) {
if (*top == NULL) {
printf("队列为空");
return -1;
}
LQ *p = *top;
*top = (*top)->next;
int result = p->data;
free(p);
return result;
}
void main() {
LQ *top = NULL;
LQ *tail = NULL;
LQueueIn(&top, &tail, 1);
LQueueIn(&top, &tail, 2);
LQueueIn(&top, &tail, 3);
LQueueIn(&top, &tail, 4);
printf("%d\n", LQueueOut(&top, &tail));
printf("%d\n", LQueueOut(&top, &tail));
printf("%d\n", LQueueOut(&top, &tail));
printf("%d\n", LQueueOut(&top, &tail));
printf("%d\n", LQueueOut(&top, &tail));
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现