顺序循环队列的基本操作

来源:互联网 发布:类的定义 c语言 编辑:程序博客网 时间:2024/05/20 13:14

1.顺序循环队列的定义:

  #define QueueSize 100;

typedef struct Squeue {

    int queue[QueueSize];

     int front,rear//队头和队尾的计数点

}Sequeue;

2.顺序循环队列的入队操作(增):

  status EnQueue(Sequeue *sq,int e);

{

    //判断队列是否已满

  if(sq->front==(sq->rear+1)%QueueSize)

   {

      return error;

   }

     sq->queue[rear]=e;

     sq->rear=(sq->rear+1)%QueueSize;

     return ok;

}

3.顺序循环队列的出栈操作(删):

  status DeQueue(Sequeue *sq,int e)

     {

        //判断队列是否为空

     if(sq->front==sq->rear)

    {

      return error;

    }

   e=sq->queue[front];

    sq->front=(sq->front+1)%QueueSiez;

      return ok;

    }

4.取对头的元素(查)

status GetHead(Sequeue *sq ,int e)

{

   //判断队列是否为空

     if(sq->front==sq->rear)

    {

      return error;

   }

   e=sq->sequeue(front);

    return ok;

}






0 0
原创粉丝点击