首页 > 试题广场 >

若以域变量 rear 和 length 分别指示循环队列中队

[填空题]

若以域变量 rear length 分别指示循环队列中队尾元素的位置和队列中元素的个数。请完成下面的入队列和出队列的算法:(西电 2004 年考研试题)

#define MAXQSIZE  100 // 最大队列长度

Type  struct

Qelemtype  *base; //base 为队列所在区域的首地址

int length;     // 队列长度

int rear;  // 队尾元素位置

SqQueue;

Status EnQueue(SqQueue &Q, Qelemtype e)

if ( 1 )   return ERROR; // 队列满,无法插入

Q.rear= 2 ; // 计算元素 e 的插入位置

3 = e;  // 在队尾加入新的元素

Q.length++;           // 队列长度加 1

return  OK;

Status DeQueue(SqQueue &Q, Qelemtype &e) // 删除对头元素,并用 e 带回其值

if ( 4 )return ERROR; // 队列满

e=Q.base[ 5 ] ;  // 取队头元素

Q length --;    // 队列长度减 1

return  OK;

这道题你会答吗?花几分钟告诉大家答案吧!