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

📄 llqueue.h

📁 一本全面剖析C++数据结构算法的书籍
💻 H
字号:
// header file llqueue.h#ifndef LinkedQueue_#define LinkedQueue_#include "node.h"template<class type>class LinkedQueue {// FIFO objects   public:      LinkedQueue() {front = rear = 0;}; // constructor      ~LinkedQueue(); // destructor      int IsEmpty()         {return ((front) ? 0 : 1);}      int IsFull();      int First(type& x); // return first element of queue in x      int Last(type& x); // return last element of queue in x      int operator +(type x); // add x to queue      int operator -(type& x); // delete x from queue      // First, + and - return 0 on failure and 1 on success   private:      Node<type> *front, *rear;};template<class type>LinkedQueue<type>::~LinkedQueue(){Node<type> *i;while (front) {i = front->link; delete front; front = i;}}template<class type>int LinkedQueue<type>::IsFull(){Node<type> *i;i = new Node<type>;if (i) {delete i; return 0;};return 1;}template<class type>int LinkedQueue<type>::First(type& x)//set x to first element{if (IsEmpty()) return 0; //First failsx = front->data;return 1;}template<class type>int LinkedQueue<type>::Last(type& x)//set x to last element{if (IsEmpty()) return 0; //Last failsx = rear->data;return 1;}template<class type>int LinkedQueue<type>::operator+(type x)//add x to queue{Node<type> *i;i = new Node<type>;if (i) {     i->data = x; i->link = 0;     if (front) rear->link = i;     else front = i;     rear = i; return 1;        };return 0; // add fails }template<class type>int LinkedQueue<type>::operator-(type& x)//delete first element and return in x{if (IsEmpty()) return 0; //delete failsx = front->data;Node<type> *i = front;front = front->link;delete i;return 1;}#endif

⌨️ 快捷键说明

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