您的位置:首页 > 其它

构建循环队列(需判断队列满)

2012-09-09 22:43 211 查看
数据结构:

  struct Queue

  {

    DataType sequ[m];

    int rear,quelen;

  };

  typedef struct Queue * PQueue;

思路:入队列和出队列的算法和普通队列的思路近似,只是原来用两指针指向只差来表示队列中元素的个数,现在直接用quelen来表达。

程序代码:

  PQueue createEmptyQueue()        //创建空队列

  {

    PQueue pqu = (PQueue)malloc(sizeof(struct Queue));

    pqu->rear = 0;

    pqu->quelen = 0;

  }

  void enQueue(PQueue pqu,DataType x)  //入队列

  {

    if(pqu->quelen== m)

    {

      printf("Overflow!\n");

      return;

    }

    pqu->sequ[pqu->rear] = x;

    pqu->rear = (pqu0>rear+1)%m;

    pqueue->quelen++;

  }

  DataType deQueue(PQueue pqu)      //队头元素出队列

  {

    int front = (pqu->rear - pqu->quelen)%m;

    pqu->quelen--;

    return pqu->sequ[front];

  }

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: