📄 queue.h
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -