• 循环队列的基本操作


     1 #include <stdio.h>
     2 #include <stdlib.h>
     3 #define MaxSize 5
     4 typedef int ElemType;
     5 typedef struct{
     6     //数组,存储MaxSize-1个元素
     7     ElemType data[MaxSize];
     8     //队列头 队列尾
     9     int front,rear;
    10 }SqQueue;
    11 void InitQueue(SqQueue &Q)
    12 {
    13     Q.rear=Q.front=0;
    14 }
    15 //判空
    16 bool isEmpty(SqQueue &Q)
    17 {
    18     //不需要为零
    19     if(Q.rear==Q.front) return true;
    20     return false;
    21 }
    22 //入队
    23 bool EnQueue(SqQueue &Q,ElemType x)
    24 {
    25     //判断是否队满
    26     if((Q.rear+1)%MaxSize==Q.front) return false;
    27     //3 4 5 6
    28     Q.data[Q.rear]=x;
    29     Q.rear=(Q.rear+1)%MaxSize;
    30     return true;
    31 }
    32 //出队
    33 bool DeQueue(SqQueue &Q,ElemType &x)
    34 {
    35     //判断是否队空 
    36     if(Q.rear==Q.front) return false;
    37     //先进先出
    38     x=Q.data[Q.front];
    39     Q.front=(Q.front+1)%MaxSize;
    40     return true;
    41 }
    42 //循环队列的基本操作 
    43 int main()
    44 {
    45     SqQueue Q;
    46     //存储返回值
    47     bool ret;
    48     //存储出队元素
    49     ElemType element;
    50     InitQueue(Q);
    51     ret=isEmpty(Q);
    52     if(ret) printf("队列为空
    ");
    53     else printf("队列不为空
    ");
    54     EnQueue(Q,3);
    55     EnQueue(Q,4);
    56     EnQueue(Q,5);
    57     ret=EnQueue(Q,6);
    58     ret=EnQueue(Q,7);
    59     if(ret) printf("入队成功
    ");
    60     else printf("入队失败
    ");
    61     ret=DeQueue(Q,element);
    62     if(ret) printf("出队成功,元素值为 %d
    ",element);
    63     else printf("出队失败
    ");
    64     ret=DeQueue(Q,element);
    65     if(ret) printf("出队成功,元素值为 %d
    ",element);
    66     else printf("出队失败
    ");
    67     ret=EnQueue(Q,8);
    68     if(ret) printf("入队成功
    ");
    69     else printf("入队失败
    ");
    70     system("pause");
    71 }
  • 相关阅读:
    poj3195 Generalized Matrioshkas(瞎搞题翻译)
    hdu2544最短路
    hdu2544最短路
    poj3195 Generalized Matrioshkas(栈)
    poj3195 Generalized Matrioshkas(栈)
    bzoj3171 [Tjoi2013]循环格
    bzoj3171 [Tjoi2013]循环格
    bzoj2245 [SDOI2011]工作安排
    bzoj2245 [SDOI2011]工作安排
    bzoj2668 [cqoi2012]交换棋子
  • 原文地址:https://www.cnblogs.com/shixinzei/p/12539417.html
Copyright © 2020-2023  润新知