假设以数组sequ[m]存放循环队列的元素,同时设变量rear和quelen分别指示循环队列中的队尾元素的位置和队列中内含元素的个数,试给出判别次循环队列中的堆满条件,并写出相应的入队和出队的
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/21 19:40:06
假设以数组sequ[m]存放循环队列的元素,同时设变量rear和quelen分别指示循环队列中的队尾元素的位置和队列中内含元素的个数,试给出判别次循环队列中的堆满条件,并写出相应的入队和出队的
假设以数组sequ[m]存放循环队列的元素,同时设变量rear和quelen分别指示循环队列中的队尾元素的位置和队列
中内含元素的个数,试给出判别次循环队列中的堆满条件,并写出相应的入队和出队的算法;(这个是数据结果)
假设以数组sequ[m]存放循环队列的元素,同时设变量rear和quelen分别指示循环队列中的队尾元素的位置和队列中内含元素的个数,试给出判别次循环队列中的堆满条件,并写出相应的入队和出队的
判断队列满的条件:
(rear+1)%m == (rear-quelen+m)%m
入队算法
void EnQueue(ElemType sequ[], ElemType value)
{
if((rear+1)%m == (rear-quelen+m)%m)
{
printf("队列满!");
return;
}
rear = (rear+1)%m;
sequ[rear] = value;
quelen++;
}
出队算法
void DeQueue(ElemType sequ[], ElemType *value)
{
if(quelen == 0)
{
printf("队列空!");
return;
}
*value = sequ[rear];
rear = (rear-1+m)%m;
quelen--;
}