当前位置: 首页 > news >正文

数据结构:链式队列尝试;0826

链式队列

尝试了 没写出来。代码存档,如下

queuelink.c

#include"queue.h"
//1.申请 链式队列
queuelink_p creatlink()
{//申请 链表 头尾指针 结构体空间queuelink_p H=(queuelink_p)malloc(sizeof(queuelink));if(H==NULL)//申请空间失败{printf("申请空间失败\n");return NULL;}H->front=NULL;H->rear=NULL;return H;
}
//1.1申请 节点
queue_p creat_node(int V)
{//申请 链表 头尾指针 结构体空间queue_p N=(queue_p)malloc(sizeof(queue));if(N==NULL)//申请空间失败{printf("申请空间失败\n");return NULL;}N->data=V;N->next==NULL;return N;
}
//2.判空
int empty(queuelink_p H)
{       if(H==NULL)//入参为空{       printf("入参为空\n");return -1;}return H->front==NULL&&H->rear==NULL;
}
//4.入队
void push_rear(queuelink_p H,int V)
{       if(H==NULL)//入参为空{printf("入参为空\n");return ;}//申请节点queue_p N=creat_queue(V);//节点链接 入队 队尾if(H->front=NULL){H->front=N;}if(H->rear!=NULL){H->rear->next=N;}H->next=N;
}
//5.出队
int pop_que(queue_p H)
{       if(H==NULL)//入参为空{printf("入参为空\n");return ;}//判断队列为空if(empty(H)){printf("队列为空\n");return;}//出队 队头出queue_p D=H->front;//队头 指针 指向下一个H->front=H->front->next;//保留 出队的值int ret=D->data;//释放空间free(D);return ret;
}
//6.输出
void show_que(queuelink_p H)
{if(H==NULL)//入参为空{printf("入参为空\n");return ;}//判断队列为空if(empty(H)){printf("队列为空\n");return;}//S指针 输出值queue_p S=H->front;while(S!=NULL){printf("%d ",S->data);S=S->next;}
}
//7.求队列元素个数
int count_que(queuelink_p H);
//8.释放循环队列
void free_que(queuelink_p *H);

main.c

#include"queue.h"
int main()
{//1.申请队列queuelink_p H =creatlink();//4.入队for(int i=9;i>4;i--){push_rear(H,i);}//5.出队printf("出队的值为%d\n",pop_que(H));//6.输出show_que(H);return 0;
}

queue.h

#ifndef __QUEUE_H_ 
#define __QUEUE_H_ 1#include<stdio.h>
#include<stdlib.h>//链栈的节点 结构体
typedef struct node
{int data;struct node *next;
}queue,*queue_p;//链式队列 头 结构体
typedef struct queuelink
{struct node *front;struct node *rear;
}queuelink,*queuelink_p;//1.申请队列
queuelink_p creatlink();
//1.1申请节点
queue_p creat_node(int);
//2.判空
int empty(queuelink_p);
//4.入队
void push_rear(queuelink_p,int);
//5.出队
int pop_que(queuelink_p);
//6.输出
void show_que(queuelink_p);
//7.求队列元素个数
int count_que(queuelink_p);
//8.释放循环队列
void free_que(queuelink_p *);#endif

兄弟,是报错

牛客刷题

http://www.dtcms.com/a/351803.html

相关文章:

  • poi生成word固定表格列宽
  • Spring - 文件上传与下载:真正的企业开发高频需求——Spring Boot文件上传与下载全场景实践指南
  • 位运算卡常技巧详解
  • Charles抓包微信小程序请求响应数据
  • 信号无忧,转决千里:耐达讯自动化PROFIBUS集线器与编码器连接术
  • 快速了解卷积神经网络
  • springweb项目中多线程使用详解
  • 问:单证硕士含金量是否不足?
  • 【Linux 进程】进程程序替换
  • 【GitHub】使用SSH与GitHub交互
  • 工业大模型五层架构全景解析:从算力底座到场景落地的完整链路
  • PyCharm注释详解:TODO、文档注释、注释
  • MySQL 索引:结构、对比与操作实践指南
  • 【合适新人】预测图片教程——如何随机抽取验证集图片进行可视化推理!(附完整代码)
  • DigitalOcean GPU 选型指南(三):中端AI GPU性价比之王 RTX 4000 Ada、A4000、A5000
  • 无人机航拍数据集|第33期 无人机树冠目标检测YOLO数据集5842张yolov11/yolov8/yolov5可训练
  • 【HZ-T536开发板免费体验】无需死记 Linux 命令!用 CangjieMagic 在 HZ-T536 开发板上搭建 MCP 服务器,自然语言轻松控板
  • Java大厂面试全真模拟:从Spring Boot到微服务架构实战
  • 文本转语音TTS工具合集(下)
  • 【强化学习】区分理解: 时序差分(TD)、蒙特卡洛(MC)、动态规划(DP)
  • 计算机底层硬件实现及运行原理通俗书籍推荐
  • 记一次MySQL数据库的操作练习
  • 把 AI 塞进「空调遥控器」——基于 MEMS 温湿阵列的 1 分钟极速房间热场扫描
  • 如何获取当前页面html元素的外层容器元素
  • vscode或者cursor配置使用Prettier - Code formatter来格式化微信小程序wxss/wxs/wxml文件
  • Vue Flow 设计大模型工作流 - 自定义大模型节点
  • 基于XiaothinkT6语言模型的文本相似度计算:轻量方案实现文本匹配与去重
  • 乳腺癌数据集支持向量机实践学习总结
  • 2025最新的软件测试热点面试题(答案+解析)
  • OnlyOffice 渲染时间获取指南