当前位置:   article > 正文

C语言实现循环队列基本操作_循环队列中清空队列的语句

循环队列中清空队列的语句
  1. #include<stdio.h>
  2. #include<malloc.h>
  3. #include<stdbool.h>
  4. #define INITSIZE 20
  5. typedef int ElemType;
  6. typedef struct SqQueue
  7. {
  8. ElemType *base;//队列指针指向分配空间
  9. int front;
  10. int rear;
  11. }SqQueue, *PSqQueue;
  12. void initQueue(PSqQueue Q)
  13. {
  14. Q->base = (ElemType*)malloc(INITSIZE * sizeof(ElemType));//分配空间
  15. Q->rear = Q->front = 0;//初始化为0
  16. }
  17. void DestroyQueue(PSqQueue Q)//销毁栈
  18. {
  19. free(Q->base);//直接释放队列指针
  20. Q->base = NULL;//重置为NULL
  21. Q->front = Q->rear = 0;//重置为0
  22. }
  23. void ClearQueue(PSqQueue Q)//清空队列指针,直接使两个标记重置为0
  24. {
  25. Q->front = Q->rear = 0;
  26. }
  27. void EnQueue(PSqQueue Q, ElemType e)//入队
  28. {
  29. if(Q->rear+1 == Q->front)//判断队列是否满,为了区别于队空,队尾下标加1若等于队头标记即为满
  30. return;
  31. *(Q->base + Q->rear) = e;//传值
  32. Q->rear = (Q->rear + 1) % INITSIZE;//队尾下标后移,这里使用取余实现循环下标
  33. }
  34. void DeQueue(PSqQueue Q, ElemType *e)//出队
  35. {
  36. if(Q->fron
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/646375
推荐阅读
相关标签
  

闽ICP备14008679号