int size; } Queue; // 初始化队列 voidinitQueue(Queue* queue){ queue->front = NULL; queue->rear = NULL; queue->size = 0; } // 获取队列长度 intgetQueueLength(Queue* queue){ return queue->size; } // 入队操作 voidenqueue(Queue* queue, int data)...
DestroyQueue(&Q):销毁队列 ClearQueue(&Q):清空队列 QueueEmpty(Q):判断队列是否为空 QueueLength(Q):求队列长度 GetHead(Q,&e):用e返回队列的队头元素 EnQueue(&Q,e):插入e作为队列的新队尾 DeQueue(&Q,&e):删除队头元素,并用e返回 3、队列的顺序存储:连续的存储单元,附设两个指针front指示队头元素...
InitQueue(&Q):构造空队列 DestroyQueue(&Q):销毁队列 ClearQueue(&Q):清空队列 QueueEmpty(Q):判断队列是否为空 QueueLength(Q):求队列长度 GetHead(Q,&e):用e返回队列的队头元素 EnQueue(&Q,e):插入e作为队列的新队尾 DeQueue(&Q,&e):删除队头元素,并用e返回 3、队列的顺序存储:连续的存储单元,附...
1//求顺序队列的长度2intQueueLength(sQqueue *q){3intlength=(q->rear-q->front+MAXSIZE)%MAXSIZE;4returnlength;5} (3)判断顺序队列是否为空: 1//判断队列是否为空2boolQueueEmpty(sQqueue *q){3return(q->front==q->rear);4} (4)顺序队列的插入: 1//顺序队列的插入2boolQueueInsert(sQqueue *q...
Status QueueLength(LinkQueue Q){ QueuePtr p = Q.front; int sum =0; while(p != Q.rear){ sum++; p = p->next; } return sum; } /* **操作结果:得到队列Q的队头元素 */ Status GetHead(LinkQueue Q,QElemType *e){ if(Q.front == Q.rear)return ERROR; ...
int queueLength(SqQueue *Q) { return (Q.rear - Q.front+MAXQSIZE) % MAXQSIZE; } 3. 入队 Status enQueue (SqQueue *Q, QElemType e) { if((Q.rear+1)%MAXQSIZE == Q.front) return ERROR; Q.base[Q.rear] = e; Q.rear = (Q.rear+1) % MAXQSIZE; return OK; } 4. 出队 Stat...
1、SqQueue.h/**循环顺序队列*/#ifndef __SQ_QUEUE_H__#define __SQ_QUEUE_H__#define QSIZE 3typedef int QElemType;typedef struct{ QElemType *base; int front; int rear; short full;} SqQueue;void InitQueue(SqQueue *Q);int QueueLength(SqQueue Q);bool EnQueue(Sq
int QueueLength(SqQueue *Q) { return (Q->rear-Q->front+MAX)%MAX; } //入队函数 void EnQueue(SqQueue *Q,int e) { if((Q->rear+1)%MAX==Q->front)//尾指针在循环意义上加1后等于头指针表明队满 { printf("队列已满,无法入队!\n"); ...
int QueueLength (CseqQueue *Q) { return( (Q->rear – Q->front + MAXSIZE) % MAXSIZE); } 1. 2. 3. 4. 链队列结构 ** 链队列示意图 (2)链队列的描述 和顺序队列类似,我们也是将这两个指针封装在一起,将链队列的类型LinkQueue定义为一个结构类型: ...
*myQueue); //QueueFull(&Q) 判满队列 int QueueLength(LineQueue *myQueue); //QueueLength(&Q) 队列长度 int EnQueue(LineQueue *myQueue, int element); //EnQueue(&Q, element) 新元素入队 int DeQueue(LineQueue *myQueue, int *element); //DeQueue(&Q, &element) 首元素出队 void Queue...