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

📄 queue6.h

📁 随书源码.新手学习不错的代码练习代码。多多指教。
💻 H
字号:
#ifndef QUEUE_H
#define QUEUE_H

#include <iostream>
using std::cerr;
using std::cout;
using std::ostream;

#include <cstdlib>
using std::exit;

// QueueItem is now a nested type of the template Queue

template <class Type>
class Queue {
public:
        Queue() : front( 0 ), back ( 0 ) { }
        ~Queue();

        Type remove();
        void add( const Type & );
        bool is_empty() const {
                return front == 0;
        }

	friend ostream& operator<<( ostream &, const Queue<Type> & );
private:
	class QueueItem {
	        QueueItem( const Type &t )
        	         : item(t), next(0) { }

		friend class Queue<Type>;
	        friend ostream& operator<<( ostream &, 
                                            const QueueItem & );

	        Type item;
	        QueueItem *next;

	        void *operator new( size_t );
	        void operator delete( void *, size_t );

	        static QueueItem *free_list;
	        static const unsigned QueueItem_chunk;
	};

        QueueItem *front;
        QueueItem *back;
};

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -