赞
踩
#ifndef queue__h #define queue__h #include <iostream> struct Node // 数据节点 { int data; // 数据类型 Node *next; // 指向下一个节点的指针 }; struct CycleQueue // 循环链表队列 { int size_; // 目前队列元素个数 Node *rear; // 尾指针 }; void creatCycleQueue(CycleQueue* que); // 创建一个循环队列指针que bool isEmpty(CycleQueue* que); // 判断队列que是否为空 // 若空返回 true 并在一行打印 The queue is Empty 末尾换行!!! // 否则返回 false void enQueue(CycleQueue* que, int item); // 实现入队操作:将元素item加入队列que尾部 int deQueue(CycleQueue* que); // 实现出队操作:移除队列que首部元素,并返回元素值 void printQueue(CycleQueue* que); // 打印队列 #endif
#include "queue_.h" int main(int argc, const char * argv[]) { // insert code here... int m, item; char str[20]; scanf("%d",&m); CycleQueue que; creatCycleQueue(&que); for (int i=0; i<m; i++) { scanf("%s", str); if(str[0]=='e'){ scanf("%d", &item); enQueue(&que, item); } else{ deQueue(&que); } } printQueue(&que); return 0; }
#include "queue_.h" #include<bits/stdc++.h> using namespace std; void creatCycleQueue(CycleQueue* que) // 创建一个循环队列指针que { que->size_ = 0; que->rear = NULL; } bool isEmpty(CycleQueue* que) // 判断队列que是否为空 // 若空返回 true 并在一行打印 The queue is Empty 末尾换行!!! // 否则返回 false { if(que->size_==0){ cout<<"The queue is Empty"<<endl; return true; }else{ return false; } } void enQueue(CycleQueue* que, int item) // 实现入队操作:将元素item加入队列que尾部 { Node*node=(Node*)malloc(sizeof(Node)); node->data=item; if(que->size_==0){ que->rear=node; que->rear->next=node; node->next=que->rear; } else{ Node*temp=que->rear->next; que->rear->next=node; node->next=temp; que->rear=node; que->rear->next=temp; } que->size_++; } int deQueue(CycleQueue* que) // 实现出队操作:移除队列que首部元素,并返回元素值 { // 请在这里补充代码,完成本关任务 /********** Begin *********/ int item; if(que->size_==1){ item=que->rear->data; Node*node=que->rear; que->rear=NULL; free(node); }else if(que->size_>=2){ item=que->rear->next->data; Node*node=que->rear->next; que->rear->next=node->next; } que->size_--; return item; /********** End **********/ } void printQueue(CycleQueue* que) // 打印队列 { while (isEmpty(que)==false) { int item = deQueue(que); printf("%d ", item); } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。