queue.h
#ifndef QUEUE_ #define QUEUE_ #define SIZE 10 typedef int data_t; typedef struct head{ data_t data[SIZE]; int front; int rear; }queue_t; queue_t *queue_creat(); int queue_is_empty(queue_t *head); int queue_is_full(queue_t *head); void queue_clear(queue_t *head); int queue_en(queue_t *head,data_t data); data_t queue_de(queue_t *head); void queue_show(queue_t *head); void queue_detory(queue_t **head); #endif
queue.c
#include <stdio.h> #include <string.h> #include <stdlib.h> #include <strings.h> #include "queue.h" queue_t *queue_creat() { queue_t *head = (queue_t *)malloc(sizeof(queue_t)); bzero(head,sizeof(queue_t)); head->front = 0; head->rear = 0; return head; } int queue_is_empty(queue_t *head) { return head->front == head->rear; } int queue_is_full(queue_t *head) { return head->rear - head->front == SIZE; } void queue_clear(queue_t *head) { head->rear = head->front; } int queue_en(queue_t *head,data_t data) { if(queue_is_full(head)) { printf("queue is fulll\n"); return -1; } head->data[head->rear%SIZE] = data; head->rear++; return 0; } data_t queue_de(queue_t *head) { if(queue_is_empty(head)) { printf("queue is empty\n"); return -1; } data_t data = head->data[head->front%SIZE]; head->front++; return data; } void queue_show(queue_t *head) { int i; for(i=head->front;i<head->rear;i++) { printf("%d\t",head->data[i%SIZE]); } printf("\n"); } void queue_destory(queue_t **head) { free(*head); *head = NULL; }
main.c
#include <stdio.h> #include "queue.h" int main() { queue_t *head = queue_creat(); int n=10; while(n--) { queue_en(head,n+1); } queue_show(head); queue_destory(&head); return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理