当前位置:   article > 正文

C++链队列进队,出队及其他操作_入队列c++快捷

入队列c++快捷

队列图示:

创建结点类型:

  1. class node{
  2. public:
  3. int data;
  4. node *next;
  5. };

建立队列类:

  1. class Queue{
  2. public:
  3. node *front,*rear; //定义两个结点类型的指针,一个是头用于出队,一个是尾用于入队
  4. Queue(){
  5. front = NULL;
  6. rear = NULL;
  7. }
  8. void push(int x); //入队操作
  9. int pop(); //出队操作
  10. };

入队操作,是使用尾插的方法在队尾插入元素

  1. void push(int x){
  2. node *s = new node;
  3. s->data = x;
  4. s->next = NULL;
  5. rear->next = s;
  6. rear = s;
  7. }

 出队列时,队头不动,出队列时队头后的所有元素向前移动

  1. void pop(){
  2. if(front==rear){
  3. cout<<" 栈空了"<<endl;
  4. return;
  5. }
  6. node *s = front->next; //让s结点指向第一个元素
  7. int x = s->data;
  8. front->next = s->next;
  9. if(s->next == NULL){ //说明此时头指针和尾指针都指向队尾元素,队列为空了
  10. rear = front; //如果队列为空,就让队尾指针指向头指针,这样是为了方便判断队是否为空
  11. }
  12. delete s;
  13. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/706958
推荐阅读
相关标签
  

闽ICP备14008679号