数据结构 队列

来源:互联网 发布:上瘾网络剧类似的 编辑:程序博客网 时间:2024/06/08 17:35

1 顺序循环队列 Q 空的条件是: Q.front==Q.rear.

为了方便起见,约定:初始化建空队时,令
      front=rear=0,
  当队空时:front=rear
  当队满时:front=rear 亦成立
  因此只凭等式front=rear无法判断队空还是队满。  有两种方法处理上述问题:
    (1)另设一个标志位以区别队列是空还是满。
    (2)少用一个元素空间,约定以“队列头指针front在队尾指针rear的下一个位置上”作为队列“满”状态的标志。即:
  队空时: front=rear
  队满时: (rear+1)%maxsize=front

  front指向队首元素,rear指向队尾元素的下一个元素。
所以,设置的队列应该能够区分 ,答案是 对
2 循环两列放在一维数组A[0…M-1]中,end1指向队头元素,end2指向队尾元素的后一个位置。假设队列两端均可进行入队和出队操作,队列中最多能容纳M-1个元素。初始时为空,下列判断队空和队满的条件中,正确的是 ()
循环队列的相关条件和公式:   
队尾指针是rear,队头是front,其中QueueSize为循环队列的最大长度  
1.队空条件:rear==front  
2.队满条件:(rear+1) %QueueSIze==front  
3.计算队列长度:(rear-front+QueueSize)%QueueSize  
4.入队:(rear+1)%QueueSize  
5.出队:(front+1)%QueueSize

原创粉丝点击