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

25072班8.26日数据结构作业

实现链式队列和其相关操作

实现结果:(入队/输出/出队/销毁 效果展示)

要实现链式队列,要像实现普通的队列那样,设计一个队头和队尾,那么在链式队列里,队头队尾是在同一个结构体中的两个指针,在输入输出上类似于链表的尾插和头删详细请看代码(时间问题,省略了一部分判断)

#include "head.h"//创建队列节点
link_p create_queue()
{	//申请队列空间link_p queue=(link_p)malloc(sizeof(link));if(queue==NULL){printf("创建队列:申请空间失败\n");return NULL;}//初始化队列节点空间queue->front=NULL;queue->rear=NULL;return queue;
}//创建节点
node_p create_node(link_p q,int element)
{node_p new=(node_p)malloc(sizeof(node));if(new==NULL){printf("创建节点:申请空间失败\n");return NULL;}new->data=element;if(q->rear==NULL){//如果当前队列为空,写入为第一个节点q->front=new;q->rear=new;}else{//不为空的情况下,进行尾插q->rear->next=new;q->rear=new;}
}//判空
int empty(link_p q)
{if(q==NULL){printf("入参为空!\n");return -1;}return q->rear==NULL;
}
//输入
void join_queue(link_p q,int element)
{if(q==NULL){printf("入参为空\n");return ;}//调用节点创建node_p new=create_node(q,element);
}
//输出
void output(link_p q)
{if(q==NULL){printf("入参为空\n");return;}node_p p=q->front;while(p!=NULL){printf("%-4d",p->data);p=p->next;}putchar(10);
}
//出队
int exit_queue(link_p q)
{if(q==NULL){printf("入参为空\n");return -1;}//num存入要出队的数据方便返回int num=q->front->data;node_p del=q->front;q->front=q->front->next;free(del);del=NULL;return num;
}
//销毁
void destory(link_p q)
{if(q==NULL){printf("入参为空\n");return ;}node_p p=q->front;//循环清空每个节点while(p!=NULL){node_p temp=p;p=p->next;free(temp);temp=NULL;}free(q);q=NULL;
}

牛客网刷题

思维导图

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

相关文章:

  • 【CFA三级笔记】资产配置:第一章 资本市场预期(宏观分析)
  • ansible的一些重要配置文件
  • 基于 LQG 控制的轨迹跟踪 —— 从原理到实践
  • 游隼可视化项目
  • python删除执行目录
  • 服装行业/服饰品牌OMS订单管理系统:全渠道零售时代的数字化中枢|商派
  • Chrome您的连接不是私密连接怎么办?试下手敲 thisisunsafe
  • Kafka 生态选型地图、最佳实践与落地清单
  • SELinux相关介绍
  • Android 属性 property 系统
  • MyBatis-Flex多表关联查询指南
  • Dify 父子模式详解:如何实现模块化与高效协作
  • 学习做动画4.回转运动
  • Docker移动安装目录的两种实现方案
  • Qwen3-Coder-30B-A3B-Instruct AWQ 量化
  • 基于51单片机的DS18B20大棚温度监控系统
  • TRUST:a thermohydraulic software package for CFD simulations,开源多物理场数值模拟平台
  • Decode Global:以合规资质筑牢全球服务的根基
  • 数据中台的下一步,是数据飞轮吗?
  • Maya绑定基础:创建骨骼、修改骨骼
  • Android之腾讯TBS文件预览
  • JSX深度解析:不是HTML,胜似HTML的语法糖
  • Milvus介绍及多模态检索实践
  • 坑机介绍学习研究1
  • 美的组织架构再调整,微清事业部划入洗衣机事业部
  • uniapp 顶部tab + 占满剩余高度的内容区域swiper
  • 低空经济的中枢神经:实时视频链路如何支撑通信、导航、监视与气象
  • C/C++---浮点数与整形的转换,为什么使用sqrt函数时,要给参数加上一个极小的小数(如1e-6)
  • “喵汪联盟”宠物领养系统的设计与实现(代码+数据库+LW)
  • LangGraph