队列数据结构c语言,C语言构造队列
平时编程里经常需要用到数据结构,比如栈和队列等,为了避免每次用到都需要重新编写的麻烦现将C编写的数据结构队列记录下来,以备后用。
将数据结构队列用头文件的形式写成,方便调用。
#ifndef QUEUE_CLASS
#定义队列类
#包括输入输出流
#包含标准库函数
使用命名空间标准
const int MaxQSize=50
模板类T
类别队列
{
私人:
前、后、计数间
t qlist[MaxQSize];
公共:
队列(作废);
void QInsert(const T项);
t q删除(void);
void清除队列(void);
t q前(空)常数;
int QLength(void)const;
int QEmpty(void)const;
int q满(空)常数;
};
//默认构造函数
模板类T
队列T :Queue(void):前端(0),后端(0),计数(0)
{}
模板类T
void Queue T :QInsert(const T item)
{
if(count==MaxQSize)
{
队列溢出!恩德尔
出口(1);
}
数数;
qlist[rear]=item;
rear=(rear 1)% MaxQSize;
}
模板类T
T队列T :QDelete(void)
{
测试温度;
if(count==0)
{
从空队列中删除!恩德尔
出口(1);
}
count-;
temp=qlist[front];
front=(front 1)% MaxQSize;
返回温度;
}
模板类T
T队列T :QFront(void) const
{
return qlist[front];
}
模板类T
int Queue T :QLength(void) const
{
返回计数;
}
模板类T
int Queue T :QEmpty(void) const
{
返回计数==0;
}
模板类T
int Queue T :QFull(void)常量
{
返回计数==MaxQSize
}
模板类T
void Queue T :ClearQueue(void)
{
front=0;
后方=0;
count=0;
}
#endif
具体的调用形式:
运行结果:
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。