queue.h
来自「Jazmyn is a 32-bit, protected mode, mult」· C头文件 代码 · 共 95 行
H
95 行
#ifndef ___QUEUE_H
#define ___QUEUE_H
#define MAX_ITEMS 20
template <class T>
class __queue
{
private:
int __front;
int __rear;
T __items[MAX_ITEMS];
int __size;
public:
__queue();
~__queue();
void insert(T data);
T remove();
T& get_front();
T& get_rear();
int is_empty();
int size();
};
template <class T>
__queue<T>::__queue()
{
__front = __rear = MAX_ITEMS - 1;
__size = 0;
}
template <class T>
__queue<T>::~__queue()
{
__front = __rear = MAX_ITEMS - 1;
}
template <class T>
int __queue<T>::is_empty()
{
return __front == __rear;
}
template <class T>
T __queue<T>::remove()
{
T __ret;
if(is_empty())
{
return __ret;
}
(__front == MAX_ITEMS-1) ? __front = 0 : __front++;
__size--;
return __items[__front];
}
template <class T>
void __queue<T>::insert(T data)
{
(__rear == MAX_ITEMS-1) ? __rear = 0 : __rear++;
if(__rear == __front)
{
return;
}
__items[__rear] = data;
__size++;
}
template <class T>
T& __queue<T>::get_front()
{
T __ret;
if(is_empty())
{
return __ret;
}
int temp = __front;
(__front == MAX_ITEMS-1) ? temp = 0 : temp++;
return __items[temp];
}
template <class T>
T& __queue<T>::get_rear()
{
return __items[__rear];
}
template <class T>
int __queue<T>::size()
{
return __size;
}
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?