队列定义与操作 顺序存储

Posted carpe-diem123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了队列定义与操作 顺序存储相关的知识,希望对你有一定的参考价值。

typedef int Position; struct QNode {     ElementType *Data;     /* 存储元素的数组 */     Position Front, Rear;  /* 队列的头、尾指针 */     int MaxSize;           /* 队列最大容量 */ }; typedef struct QNode *Queue; Queue CreateQueue( int MaxSize ) {     Queue Q = (Queue)malloc(sizeof(struct QNode));     Q->Data = (ElementType *)malloc(MaxSize * sizeof(ElementType));     Q->Front = Q->Rear = 0;     Q->MaxSize = MaxSize;     return Q; } bool IsFull( Queue Q ) {     return ((Q->Rear+1)%Q->MaxSize == Q->Front); } bool AddQ( Queue Q, ElementType X ) {     if ( IsFull(Q) ) {         printf("队列满");         return false;     }     else {         Q->Rear = (Q->Rear+1)%Q->MaxSize;         Q->Data[Q->Rear] = X;         return true;     } } bool IsEmpty( Queue Q ) {     return (Q->Front == Q->Rear); } ElementType DeleteQ( Queue Q ) {     if ( IsEmpty(Q) ) {          printf("队列空");         return ERROR;     }     else  {         Q->Front =(Q->Front+1)%Q->MaxSize;         return  Q->Data[Q->Front];     } }

以上是关于队列定义与操作 顺序存储的主要内容,如果未能解决你的问题,请参考以下文章

队列定义与操作 顺序存储

数据结构学习笔记——队列的基本知识和顺序存储结构实现队列(顺序队列)

C/C++|DataStructure栈与队列之栈的顺序存储结构

队列的定义循环队列的顺序存储结构及链式存储结构

数据结构学习笔记——队列的基本知识和顺序存储结构实现队列

队列顺序存储 - 设计与实现 - API函数