• (队列)只允许在一端进行插入操作,而在另一端进行删除操作的线性表

  • 与栈相反,队列是一种先进先出的线性表(First In First Out, FIFO)

  • 与栈相同的是 一种重要的线性 结构,实现一个队列同样需要顺序表或链表作为基础

######链队列

typedef struct QNode{ElemType data;struct QNode \*next;
} QNode, *queuePrt;
typedef struct {QyeyePrt front,rear;
} LinkQueue;
  • 入队列操作
InsertQueue(LinkQueue *q,ElemType e)
{
QueuePty p;
p = (QueuePty)malloc(sizeof(QNode));
if (p == NULL)
exit(0)
p->data = e;
p->next = NULL;
q->rear->next = p;
q->rear = p;
}
  • 出队列操作
DeleteQueue(LinkQueue *q,ElemType*e)
{QueuePty p;if (q->front = q->rear) return;p = q->front->next;
\*e = p->data;q->front->next = p->next;if (q->rear == p)
q->rear = q->front;
free(p);
}
  • 销毁队列
DestroyQueue(LinkQueue *q)
{
whlie (q->front){q->rear = q->front->next;
free(q->front)
q->front = q->rear;
}
}
  • ######看我那么可爱n(≧▽≦)n
  • 关注我的微薄 (梁同桌):http://weibo.com/tongrenyinsheng
  • 个人博客: www.liangtongzhuo.com
  • ios 个人写的app (同人音声)ASMR音乐

转载于:https://juejin.im/post/5a31f147f265da430e4f2c0b

队列 front rear相关推荐

  1. 数据结构实验课:实验四、队列的实现及应用

    实验四.队列的实现及应用 一.实验目的 1.掌握队列的存储表示和实现. 2.掌握队列的基本操作实现. 3.掌握队列在解决实际问题中的应用. 二.实验要求 利用队列模拟服务台前的排队现象问题. 问题描述 ...

  2. 队列——普通队列和环形队列

    队列 定义:由一个长度固定的数组和两个指针所组成的数据结构,先进先出. 功能:add delete list 实现逻辑:由组成队列的数组自身是不变化的,指针是一个表示数组下标,而且不断变化的一个数.由 ...

  3. Java创建线程(Lambda表达式创建线程)

    一.创建线程三种方式 1.1 继承Thread类创建线程类(main线程与t线程交替执行) 1.2 通过Runnable接口创建线程类 弊端是:不能直接使用Thread中的方法需要先获取到线程对象后, ...

  4. CAUC算法与数据结构复习基本代码(一)

    算法与数据结构复习基本代码(一) 线性表 线性表 顺序表 单链表 双链表 栈 栈 顺序栈 链式栈 表达式求值 队列 顺序队列 链式队列 字符串 线性表 线性表 线性表的抽象数据类型定义 templat ...

  5. [数据结构]练习6-树

    文章目录 实验一 总结 实验二 总结 实验三 总结 实验四 总结 实验五 总结 实验六 总结 tree.h 实验一 /* 编写算法函数void levelorder(tree t)实现树的层次遍历.( ...

  6. 如果用一个循环数组q[0..m-1]表示队列时,该队列只有一个队列头指针front,不设队列尾指针rear,求这个队列中从队列投到队列尾的元素个数(包含队列头、队列尾)。

    #include <iostream> using namespace std;//循环队列(少用一个空间)长度 #define M (8+1)typedef struct node {i ...

  7. 考研数据结构之队列(3.3)——练习题之设计一个循环队列,用front和rear分别作为队头和队尾指针,另外用一个标志tag表示队列是空还是不空来设计队列的结构和相关基本运算算法(C表示)

    题目 设计一个循环队列,用front和rear分别作为队头和队尾指针,另外用一个标志tag表示队列是空还是不空,约定当tag为0时队空,当tag为1时队不空,这样就可以用front==rear作为队满 ...

  8. 计算机二级front和rear什么意思,关于计算机二级考试内容

    为了让大家更好的备考计算机二级考试,练习往年真题很重要,下面由出国留学网小编为你准备了"计算机二级考试内容office真题",仅供参考,持续关注本站将可以持续获取更多的内容资讯! ...

  9. 计算机二级front和rear什么意思,计算机二级公共基础选择题31-40

    原标题:计算机二级公共基础选择题31-40 31.循环队列的存储空间为Q(1:40),初始状态为 front=rear=40.经过一系列正常的入队与退队操作后,front=rear=15,此后又退出一 ...

  10. 翻转二叉树 c语言实现 递归 栈 队列

    前言 题目比较好理解,就是翻转二叉树 代码 c语言实现 #include<stdio.h> #include<stdlib.h> #include<string.h> ...

最新文章

  1. 交情来自一系列的交易
  2. 联邦学习首个国际标准正式发布
  3. 1.2 边缘检测示例-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
  4. java添加信任_ssl-在Java中使用自定义信任库以及默认的on
  5. 不是Linux文件系统的权限,Linux中文件系统的权限管理(普通权限,特殊权限,文件的扩展属性,FACL)...
  6. OpenCV学习(1) OpenCV的安装
  7. protobuf版本冲突
  8. pycharm更改为系统python3_今天配置好python3 装好了pycharm 就新建一个django一直改不好...
  9. Android应用安装apk版本升级,适配Android 8.0和Android 10.0下载安装,shell命令安装APK
  10. linux环境下配置虚拟主机域名
  11. 第一:Postman安装及使用(超详细)
  12. 软件性能测试中常见问题,性能测试常见的问题
  13. 北京互联网地域歧视链
  14. 如何突破大众点评接口风控?
  15. 财务数据图表分析,这些财务预算表模板免费用
  16. 改变你思维模式的书单
  17. 身份证前6位数据/行政区划分代码
  18. 5款App帮你创建时间轴
  19. python网络编程基础知识_Python 网络编程基础入门
  20. 陈晨-证券交易系统架构设计_挑战与实施经验分享

热门文章

  1. 编译器和编辑器的区别
  2. pydev debugger: warning: trying to add breakpoint to file that does not exist
  3. JAVA计算机毕业设计藏宝阁游戏交易系统Mybatis+系统+数据库+调试部署
  4. 缓存路由组件+路由组件的2个生命周期钩子 activated 和 deactivated
  5. android第三方apk找不到/system/lib64/里面的系统库
  6. Python办公系列--Python创建Excel工作簿
  7. C++ 基本编程工具 DevCpp5.4.0 + 经典 VC6.0 | 软件分享 |
  8. rough set_Rough.js使用Canvas和SVG制作手绘图形
  9. 计算机网络:非持久HTTP连接 VS 持久性HTTP 连接
  10. 大数据基础知识之什么是服务器什么是集群