用模板做的队列
来源:互联网 发布:青云志进阶数据 编辑:程序博客网 时间:2024/04/30 15:43
//练兵--希望各位评论
const int size=100;
template <class Type>
class Queue
{
int front;
int back;
Type a[size];
public:
Queue();
void EnQueue(Type );
Type DeQueue();
bool IsEmpty();
bool IsFull();
void Print();
void Exit(const char *)const;
};
template <class Type>
inline Queue<Type>::Queue()
{
front=back=0;
}
template <class Type>
void Queue<Type>::EnQueue(Type Data)
{
if(IsFull())
{
Exit("满");
}
a[back]=Data;
back=(back+1)%size;
}
template <class Type>
Type Queue<Type>::DeQueue()
{
if(IsEmpty())
{
Exit("空");
}
Type t=a[front];
front=(front+1)%size;
return t;
}
template <class Type>
bool Queue<Type>::IsFull()
{
if((back+1)%size==front)
return true;
return false;
}
template <class Type>
bool Queue<Type>::IsEmpty()
{
if((front+size)%size==back)
return true;
return false;
}
template <class Type>
void Queue<Type>::Print()
{
int temp=front;
while(!IsEmpty())
{
cout<<a[front++]<<"-";
}
front=temp;
}
template <class Type>
void Queue<Type>::Exit(const char *err)const
{
printf("%s",err);
//exit(0);
}
int main(array<System::String ^> ^args)
{
Queue<int> intQueue;
intQueue.EnQueue(5);
intQueue.Print();
intQueue.DeQueue();
printf("/n");
Queue<float> floatQueue;
floatQueue.EnQueue(1.2);
floatQueue.EnQueue(1.3);
floatQueue.EnQueue(1.4);
floatQueue.Print();
printf("/n");
getchar();
return 0;
}
- 用模板做的队列
- 队列的类模板
- 用类模板做的智能指针
- 用smarty模板做的登录
- 用smarty模板做的登录
- 用smarty模板做的登录
- 用堆栈做队列
- c++模板实现的队列
- 队列的C++模板实现
- 带模板的链队列
- 队列类的模板实现
- 队列类模板的使用
- 用C++队列模板实现杨辉三角的输出
- 用优先队列优化后的dijkstra算法模板
- 自己做的一个模板
- 用memcached做队列服务
- 用redis做消息队列
- 用集合做队列、栈
- 面向对象设计的原则
- MFC积累贴
- 面向对象设计的原则
- 足球术语中英对照
- 程序设计语言的表达——内部DSL
- 用模板做的队列
- 关于Resin下含传递参数的jsp文件的重定向(rewrite)
- 关于回调函数
- 百度迎来首位女性高管,cfo
- 3C产品成国内B2C网售新热点
- 上海的新职位喽
- 使用java.text包格式化数字和日期
- Uncheck "hide extensions for known file types" with cmd or bat.?
- 从excel导入(或利用语句)SQL SERVER.