//
// queue_.cpp
// Cycle
//
// Created by ljpc on 2018/5/30.
// Copyright © 2018年 ljpc. All rights reserved.
//
#include "queue_.h"
void creatCycleQueue(CycleQueue* que)
// 创建一个循环队列指针que
{
que->size_ = 0;
que->rear = NULL;
}
bool isEmpty(CycleQueue* que)
// 判断队列que是否为空
// 若空返回 true 并在一行打印 The queue is Empty 末尾换行!!!
// 否则返回 false
{
// 请在这里补充代码,完成本关任务
/********** Begin *********/
if(que->size_==0)
{
printf("The queue is Empty\n");
return true;
}
return false;
/********** End **********/
}
void enQueue(CycleQueue* que, int item)
// 实现入队操作:将元素item加入队列que尾部
{
// 请在这里补充代码,完成本关任务
/********** Begin *********/
Node*newnode=(Node*)malloc(sizeof(Node));
if(que->size_==0)
{
que->rear=newnode;
que->rear->next=newnode;
}
else
{
Node *temp = que->rear->next;
que->rear->next = newnode;
newnode->next = temp;
que->rear=newnode;
que->rear->next=temp;
}
newnode->data=item;
que->size_++;
/********** End **********/
}
int deQueue(CycleQueue* que)
// 实现出队操作:移除队列que首部元素,并返回元素值
{
// 请在这里补充代码,完成本关任务
/********** Begin *********/
Node*node=que->rear->next;
que->rear->next=node->next;
que->size_--;
return node->data;
/********** End **********/
}
void printQueue(CycleQueue* que)
// 打印队列
{
while (isEmpty(que)==false) {
int item = deQueue(que);
printf("%d ", item);
}
}
C语言数据结构-队列的应用_单链表循环队列
最新推荐文章于 2024-10-13 22:25:31 发布