⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 queue.h

📁 Jazmyn is a 32-bit, protected mode, multitasking OS which runs on i386 & above CPU`s. Its complete
💻 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 + -