数据结构循环队列的基本操作(C语言)
2017-10-10 22:33
741 查看
#include #include //顺序循环队列的基本操作 #define MaxSize 5 #define Len sizeof(SqQueue) /* 循环队列的核心算法: 1.判断队列是否未满(Queue->rear+1)%MaxSize==Queue->front 2.判队列是否为空 Queue->rear==Queue->front 3.计算队列的长度 (rear->front+QueueSize)%MaxSizes */ typedef struct { int data[MaxSize]; int front; int rear; }SqQueue; SqQueue *Queue; int length = 0; SqQueue* IntQueue()//创建队列并且初始化 { Queue = (SqQueue *)malloc(Len); Queue->front = 0; Queue->rear = 0; return Queue; } SqQueue* Enqueue(SqQueue* Queue, int data)//将元素插入到队中 { if ((Queue->rear + 1) % MaxSize == Queue->front)//判断队列是否满了 { printf("队满了!"); exit(0); } Queue->data[Queue->rear] = data;//将数据放入队尾 Queue->rear = (Queue->rear + 1)%MaxSize;//尾部向后移动1 return Queue; } SqQueue* Dequeue(SqQueue* Queue)//若队列不为空,则删除队头元素 { if (Queue->front == Queue->rear)//判断队列是否为空 { printf("队列为空!"); exit(0); } Queue->front = (Queue->front + 1) % MaxSize;//队头向后移动1 return Queue; } void Print(SqQueue* Queue)//显示数队列的全部元素 { int n = Queue->front; while (n != Queue->rear)//队不为空 { printf("%d ", Queue->data ); n= (n + 1) % MaxSize; } } void ClearQueue(SqQueue *Queue)//清空队列中的所有元素 { Queue->front = Queue->rear = 0;//清空队列中的所有元素 } int QueueLength(SqQueue* Queue)//求队列的长度 { int n = Queue->front; int length = 0; while (n != Queue->rear) { length++; } return length; } int GetHead(SqQueue* Queue)//返回队列的队首元素 { int data; data = Queue->data[Queue->front]; return data; } int main() { IntQueue(); for (int i = 1; i < 5; i++) { Enqueue(Queue, i); } printf("删除前:\n"); Print(Queue); Dequeue(Queue); printf("删除后:\n"); Print(Queue); printf("\n"); printf("获取的队首元素是:%d",GetHead(Queue)); system("pause"); }
相关文章推荐
- 数据结构-循环队列的基本实现操作
- 数据结构 循环队列的基本操作
- 数据结构--循环队列的基本操作
- C语言线性表循环队列的基本操作
- 算法与数据结构-队列的基本操作C语言实现
- 数据结构-循环顺序队列的基本操作
- C语言实现循环队列基本操作(初始化、判断队空、入队、出队)
- 顺序队列(循环队列)基本操作实现 C语言
- 数据结构(六)循环队列的基本操作 入队 退队
- 数据结构-循环队列的基本操作
- 循环队列基本操作(C语言描述)
- 数据结构--单链表的基本操作(C语言实现)
- 基本数据结构,循环队列的顺序实现。
- 数据结构 链表的基本操作(C语言)
- [数据结构][C语言]图的基本介绍和操作实现之基本概念
- 数据结构:循环队列(C语言实现)
- 栈、循环队列的基本操作
- 循环队列和链式队列的结构及其基本操作(入队、出队、取队头、查看对内元素)
- c语言描述的链队列的基本操作
- 数据结构 P62-62 算法实现 单链队列的创建及基本操作