华清远见-创客学院-专业:嵌入式人工智能开发C++ 课程

假设以数组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--;

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容