织梦网站入侵,网站屏蔽省份,网站美工设计详细步骤,公司网站模板源代码目录#x1f60b;
任务描述
相关知识
测试说明
我的通关代码:
测试结果#xff1a; 任务描述 本关任务#xff1a;编写一个程序实现环形队列的基本运算。 相关知识 为了完成本关任务#xff0c;你需要掌握#xff1a; 初始化队列、销毁队列、判断队列是否为空、进队列…目录
任务描述
相关知识
测试说明
我的通关代码:
测试结果 任务描述 本关任务编写一个程序实现环形队列的基本运算。 相关知识 为了完成本关任务你需要掌握 初始化队列、销毁队列、判断队列是否为空、进队列、出队列等。 测试说明 平台会对你编写的代码进行测试 输入进队列字符串以字符串形式输入 输入 abc def 输出 (1)初始化队列q (2)依次进队列元素:a b c (3)队列为非空 (4)出队一个元素a (5)依次进队列元素:d e f (6)出队列序列:b c d e f (7)释放队列 输入 xyz opq2* 输出 (1)初始化队列q (2)依次进队列元素:x y z (3)队列为非空 (4)出队一个元素x (5)依次进队列元素:o p q 2 * (6)出队列序列:y z o p q 2 * (7)释放队列 开始你的任务吧祝你成功 我的通关代码:
// 请在Begin-End之间添加你的代码
//实现环形队列的如下基本运算//
//(1)初始化队列q//
//(2)判断队列q是否非空输出判断结果//
//(3)依次进队列元素注进队列元素由用户输入//
//(4)出队一个元素输出该元素//
//(5)依次进队列元素注进队列元素由用户输入//
//(6)输出出队序列//
//(7)释放队列//
/********** Begin *********/
#include iostream
#include string
#include vectorusing namespace std;class CircularQueue{private:vectorcharbuffer;int head;int tail;int size;public:
CircularQueue(int capacity)
:buffer(capacity),head(-1),tail(-1),size(capacity){}bool isEmpty() {return head -1;}bool isFull() {return (tail 1) % size head;}void enqueue(char item){if(isFull()){cout(3)列队为满endl;return;}if(isEmpty()){head 0;}tail (tail 1) % size;buffer[tail] item;
}char dequeue(){if (isEmpty()){cout (3)列队为空endl;return \0;}char item buffer[head];if(head tail){head tail -1;}else{head (head 1) % size;}return item;
}void displayQueue(){if(isEmpty()){cout (3)列队为空endl;return;}int i head;while (true){cout buffer[i] ;if(i tail)break;i (i 1)% size;}
}void destroy(){buffer.clear();head tail -1;
}
};int main(){string input1,input2;getline(cin,input1);getline(cin,input2);CircularQueue q(10);cout (1)初始化队列qendl;for(char c : input1){q.enqueue(c);}cout (2)依次进队列元素:;q.displayQueue();cout endl;if(!q.isEmpty()){cout (3)队列为非空endl;cout (4)出队一个元素q.dequeue()endl;}else{cout(3)队列为空endl;return 0;}for(char c : input2){q.enqueue(c);}cout (5)依次进队列元素:;for(char c : input2){cout c ;}cout endl;cout (6)出队列序列:;while(!q.isEmpty()){cout q.dequeue() ;}cout endl;cout (7)释放队列;q.destroy();return 0;
}/********** End **********/ 测试结果