2.3.1 队列及顺序存储实现
2017-11-05 16:57
232 查看
#include<stdio.h> #include<stdlib.h> #define ERROR 1e8 #define MaxSize 100 struct QNode { ElementType Data[MaxSize]; int rear; int front; }; typedef struct QNode *Queue; typedef ElementType; //入队是rear+1,出队是front+1 //循环队列(不放满) //入队 void AddQ(Queue PtrQ, ElementType item){ if ((PtrQ->rear + 1) % MaxSize == PtrQ->front) {//先判断队列是否是满的,如果总共六个则最后一个是5,(5+1)%6==0 printf("队列满"); return; } PtrQ->rear = (PtrQ->rear + 1) % MaxSize;//如果总共六个则012345,最后一个是5,(5+1)%6==0接下来放到0 PtrQ->Data[PtrQ->rear] = item;//把item放到数组中 } //出队 ElementType DeleteQ(Queue PtrQ) { if (PtrQ->front == PtrQ->rear) {//先判断队列是否为空 printf("队列空!\n"); return ERROR; } else { PtrQ->front = (PtrQ->front + 1) % MaxSize;//假设front=3,(3+1)%6=4 return PtrQ->Data[PtrQ->front]; } }
相关文章推荐
- 循环队列-顺序存储-c语言实现
- 队列顺序循环存储实现
- 循环队列的顺序存储实现
- 队列-顺序存储-简单实现
- 顺序存储队列实现
- 队列顺序存储 - 设计与实现 - API函数
- 队列的顺序存储实现—循环队列
- 队列的顺序存储及实现(C++版)
- 数据结构之循环队列(顺序表存储)——C++模板类实现
- 队列顺序存储 - 设计与实现 - API函数
- 队列的顺序存储表示---数组实现
- Java使用顺序存储实现队列
- 队列的顺序存储实现和链式存储实现
- 队列的顺序存储和链式存储实现
- (C语言版)栈和队列(二)——实现顺序存储栈和顺序存储队列的相关操作
- 采用顺序存储实现循环队列的初始化、入队、出队操作。
- 队列的顺序存储和实现
- 数据结构(C实现)------- 顺序队列(循环队列之少用一个存储空间实现) .
- 队列的顺序存储实现
- 队列(顺序存储) java实现