2.3队列

作者: 你weixiao的时候很美 | 来源:发表于2018-11-15 22:22 被阅读7次

1.队列(Queue):具有一定操作约束的线性表

插入和删除操作:只能在一端插入,而在另一端删除
数据插入:入队列(AddQ)
数据删除:出队列(DeleteQ)
先来先服务
先进先出:FIFO

2.抽象数据描述
类型名称:队列(Queue) 数据对象集:一个有0个或多个元素的有穷线性表。
操作集:长度为MaxSize的队列Q Queue,队列元素item ElementType
1、Queue CreatQueue( int MaxSize ):生成长度为MaxSize的空队列;
2、int IsFullQ( Queue Q, int MaxSize ):判断队列Q是否已满;
3、void AddQ( Queue Q, ElementType item ): 将数据元素item插入队列Q中;
4、int IsEmptyQ( Queue Q ): 判断队列Q是否为空;
5、ElementType DeleteQ( Queue Q ):将队头数据元素从队列中删除并返回。

  1. 队列的顺序存储实现
    队列的顺序存储结构通常由一个一维数组和一个记录队列头元 素位置的变量front以及一个记录队列尾元素位置的变量rear组成。
#define MaxSize <储存数据元素的最大个数> 
typedef struct {
ElementType Data[ MaxSize ]; 
int rear;
int front;
} Queue;

入队
void AddQ( Queue *PtrQ, ElementType item) {
if ( (PtrQ->rear+1) % MaxSize == PtrQ->front ) {
 printf(“队列满”);
return;
}
PtrQ->rear = (PtrQ->rear+1)% MaxSize; 
PtrQ->Data[PtrQ->rear] = item;
}

出队
ElementType DeleteQ ( Queue *PtrQ ) {
if ( PtrQ->front == PtrQ->rear ) {
 printf(“队列空”);
return ERROR;
} else {
PtrQ->front = (PtrQ->front+1)% MaxSize; 
return PtrQ->Data[PtrQ->front];
} }

front 和 rear 的指针移动使用加一取余法。体现了顺序存储的循环使用。

相关文章

  • 数据结构 | 其三 栈和队列

    栈 java中栈继承了Vector 队列 2.1 普通队列 2.2 循环队列 2.3 优先级队列 2.4 阻塞队列...

  • 2.3队列

    1.队列(Queue):具有一定操作约束的线性表 插入和删除操作:只能在一端插入,而在另一端删除数据插入:入队列(...

  • Update AsyncTask And Make New On

    关于android并发 AsyncTask在android2.3的时候线程池是一个核心数为5线程,队列可容纳10线...

  • 剑指offer学习笔记:2.3 数据结构

    2.3 数据结构 数据结构一直都是技术面试的重点,大部分面试都是围绕数组,字符串,链表,树,栈以及队列这几种常见数...

  • 2020-03-24

    多喜爱,2.29*2.3,1600G,白色 雅兰,2.03*2.3,1800G,白色 富安娜,2.3*2.29,4...

  • Migrating to Swift 3

    What's Swift 2.3 Swift 2.3 is a minor update from Swift 2...

  • 写给人类的机器学习 2.3 监督学习 III

    2.3 监督学习 III 原文:Machine Learning for Humans, Part 2.3: Su...

  • 队列

    队列特性 对比队列和栈 基于数组的队列 对比队列学习循环队列 循环队列难点 阻塞队列 并发队列 应用:线程池中拒绝...

  • 队列

    文章结构 什么是队列 实现队列顺序队列链式队列循环队列 Java中的队列 1. 什么是队列 队列也是一种操作受限的...

  • iOS底层-- GCD源码分析(1)-- dispatch_qu

    手动目录认识队列队列的结构队列的产生主队列全局队列创建的队列管理队列 代码版本dispatch version :...

网友评论

      本文标题:2.3队列

      本文链接:https://www.haomeiwen.com/subject/euvufqtx.html