1. #include<bits/stdc++.h>
  2. using namespace std;
  3. class Node{
  4. public:
  5. Node(){
  6. date = 0;
  7. next = new Node;
  8. next = NULL;
  9. }
  10. ~Node(){
  11. delete next;
  12. }
  13. int date;
  14. Node* next;
  15. };
  16. class Queue{
  17. public:
  18. Queue(){
  19. first = new Node;
  20. last = new Node;
  21. first = NULL;
  22. last = NULL;
  23. sizeOfQueue = 0;
  24. }
  25. ~Queue(){
  26. delete first;
  27. delete last;
  28. }
  29. Node* first;
  30. Node* last;
  31. void push( int date_);
  32. void pop();
  33. void printQueue();
  34. int sizeOfQueue;
  35. };
  36. void Queue::pop(){ //出队列
  37. Node*p = new Node;
  38. // if(!p)
  39. // cout << "out of space" << endl;
  40. if(this->sizeOfQueue==0){
  41. cout << "no" << endl;
  42. exit(0);
  43. }
  44. cout << this->first->date << endl;
  45. this->sizeOfQueue--;
  46. p = this->first;
  47. this->first = p->next;
  48. delete p;
  49. }
  50. void Queue::push(int date_){ //入队列
  51. Node* p = new Node;
  52. // if(!p)
  53. // cout << "out of space" << endl;
  54. this->sizeOfQueue++;
  55. if(this->sizeOfQueue==1){
  56. this->first = p;
  57. this->last = p;
  58. }else{
  59. this->last->next = p;
  60. last = p;
  61. }
  62. p->date = date_;
  63. }
  64. void Queue::printQueue(){ //遍历打印队列
  65. int i;
  66. Node*p = new Node;
  67. p = this->first;
  68. for( i = 0; i < sizeOfQueue; i++){
  69. cout << p->date << endl;
  70. p = p->next;
  71. }
  72. delete p;
  73. }
  74. int main(){
  75. Queue myQueue;
  76. int times; //调用次数
  77. cin >> times;
  78. int youWant, number;
  79. while(times--){
  80. cin >> youWant; //想执行的命令
  81. if(youWant==1){
  82. cin >> number; //入队列的数
  83. myQueue.push(number);
  84. }else if(youWant == 2){
  85. myQueue.pop();
  86. }else if(youWant==3){
  87. cout << myQueue.sizeOfQueue << endl;
  88. }
  89. }
  90. return 0;
  91. }
点赞(0)
 

0 分

0 人评分

 

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论