/*
链队列的实现以及相关操作
作者:S_hmily
日期:2011年9月1日
编译环境:VC++6.0
*/
/***************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
/***************************************************/
#define OK      1
#define ERROR   0
#define TRUE    1
#define FALSE   0
typedef int     ElemType;
typedef int     Status;
typedef struct node{
ElemType        data;
struct node     *next;
}Qnode, *pQnode;
typedef struct {
pQnode      frond;
pQnode      rear;
}LinkQueue;
/***************************************************/
//初始化
Status InitLinkQueue(LinkQueue *Q)
{
//头结点
pQnode head = (pQnode)malloc(sizeof(Qnode));
if (!head)
exit(-1);
head->next = NULL;
Q->frond = Q->rear = head;
return OK;
}
/***************************************************/
//入队
Status EnQueue(LinkQueue *Q, ElemType e)
{
pQnode pNew = (pQnode)malloc(sizeof(Qnode));
if (!pNew)
exit(-1);
pNew->data = e;
pNew->next = Q->rear->next;
Q->rear->next = pNew;
Q->rear = pNew;
return OK;
}
/***************************************************/
//出队
Status DeQueue(LinkQueue *Q, ElemType *e)
{
pQnode p = Q->frond->next;
//对空
if (Q->frond == Q->rear)
return ERROR;
*e = p->data;
Q->frond->next = p->next;
if (Q->rear == p)
Q->rear = Q->frond;
free(p);
return OK;
}
/***************************************************/
int main(void)
{
LinkQueue Q;
InitLinkQueue(&Q);
return 0;
}

链队列的实现 C语言相关推荐

  1. 队列的基本操作c语言代码大全,数据结构――队列(循环队列)的基本操作(实现链队列逐一取出c语言代码)...

    队列 队列是一种重要的线性结构,与栈相同也需要顺序表或者链表作为基础.队列是先进先出(first in first out)FIFO的线性表. 所有数据从队列的一端进入,从另一端离开. 队列中允许插入 ...

  2. 链队列出入队列c语言程序,链队列简单操作(c语言)

    #include #define ERROR 0 struct Node{ int Data; struct Node *Next; }; struct QNode{ struct Node *rea ...

  3. 数据结构——链式队列解析(C语言版)

    摘自:数据结构学习--链式队列解析(C语言版) 作者:正弦定理 发布时间:2020-11-26 21:07:08 网址:https://blog.csdn.net/chinesekobe/articl ...

  4. 【数据结构】队列(链队列、循环队列)的存储结构及基本运算(C语言)

    目录 1. 队列基本概念 2. 链队列 2.1 代码+注释 2.2 运行结果 3. 循环队列 3.1 代码+注释 3.2 运行结果 1. 队列基本概念 队列(Queue)是一种限定性线性表,它只允许在 ...

  5. 停车场管理系统(C语言顺序栈+链栈+链队列)

    一.实验目的 1.根据停车场管理系统的要求,利用结构化程序设计方法以及C的编程思想来完成系统的设计,使用数据结构中的栈.队列进行分析: 2.按功能定义函数或书写多个文件,进行模块化设计,各个功能模块用 ...

  6. c语言循环队列入列算法,C语言——循环队列和链队列的基本运算

    // 循环队列 #include #include "SeqQue.h" // 循环队列的基本运算 /* const int maxsize = 20; typedef struc ...

  7. C语言实现链队列并测试

    采用链式存储法编程实现元素入队.出队以及将队列中的元素显示出来,要求整个过程以菜单选择的形式出现.队列的链式存储结构是通过节点构成的单链表实现的,此时只允许在单链表的表首进行删除,在表尾进行插入,以实 ...

  8. C语言实现数据结构——链队列

    定义 前面学习了栈这种数据结构,我们知道他的特点是数据先进后出.与栈相反,队列的特点时数据先进先出.即first in firsr out,简称FIFO. 队列只允许在表的一端进行数据的插入,在另一端 ...

  9. 数据结构(二):线性表包括顺序存储结构(顺序表、顺序队列和顺序栈)和链式存储结构(链表、链队列和链栈)...

    还记得数据结构这个经典的分类图吧: 今天主要关注一下线性表. 什么是线性表 线性表的划分是从数据的逻辑结构上进行的.线性指的是在数据的逻辑结构上是线性的.即在数据元素的非空有限集中 (1) 存在唯一的 ...

最新文章

  1. service 与chkconfig
  2. 实时音视频互动系列(上):又拍云UTUN网络详解
  3. python输出乘法口诀-【每日一练】python输出 9*9 乘法口诀表
  4. 数据中心真能促进乡村经济吗?
  5. Ubuntu复制相同的目录结构(不复制文件)
  6. 【无套路送书】架构师是怎样炼成的?
  7. mysql lepus_MySQL 监控软件lepus天兔
  8. redis中hash类型介绍
  9. 华兴源创成科创板第一股 6月21日起初步询价
  10. 转载:百集3D动画片《精灵世纪》制作揭密
  11. 几个开源项目实体层实现方式比较
  12. 数据集加载--load_digits
  13. 华为m6平板电脑Linux,华为平板M6 10.8英寸版使用体验及全面评测
  14. 不用登陆QQ也能使用QQ截图工具
  15. 如何快速把kux格式转换成mp4
  16. 腾讯笔试题——逆序对
  17. VS的Qt界面预览和QtCreator的界面预览快捷键
  18. Linux操作命令分类详解 - 目录文件(二)
  19. InnoDB引擎--事务持久性
  20. 揭秘:游戏开发的薪资情况和发展前景!

热门文章

  1. linux下测试网速
  2. android视频快速压缩视频教程,Android上的快速视频压缩
  3. Qt工程中c++实现wrl到pcd格式转换
  4. 另一半人马座,孟庭苇
  5. mac上最好用的在线视频播放器:IINA+ for Mac
  6. 数据库从入门到删库跑路(二) - - PL/SQL
  7. GB1774-2015的Endnote “样式文件”下载及制作
  8. 机器学习笔记 - 同步定位与地图构建 (SLAM)
  9. ACPI on ARMv8 Servers
  10. 学习WEB前端开发是选择自学还是去培训机构?