linkedqueen.h

来自「实现LZW压缩及解压缩的程序」· C头文件 代码 · 共 71 行

H
71
字号

#ifndef LINKEDQUEEN_H
#define LINKEDQUEEN_H

#include <iostream>
#include "head.h"
using namespace std;

template <class T>
LinkedQueen<T>::~LinkedQueen()
{
	Node<T>* next;
	while (front)
	{
		next = front->link;
		delete front;
		front = next;
	}
}

template <class T>
T LinkedQueen<T>::First() const
{
	if (IsEmpty())
	{
		return 0;
	}
	return front->data;
}

template <class T>
T LinkedQueen<T>::Last() const
{
	if (IsEmpty())
	{
		throw OutOfBounds();
	}
	return rear->data;
}

template <class T>
LinkedQueen<T>& LinkedQueen<T>::Add(const T& x)
{
	Node<T>* p = new Node<T>;
	p->data = x;
	p->link = 0;
	if (front)
	{
		rear->link = p;
	}
	else
	{
		front = p;
	}
	rear = p;
	return *this;
}

template <class T>
void LinkedQueen<T>::Delete()
{
	if (IsEmpty())
	{
		throw OutOfBounds();
	}
	Node<T>* p = front;
	front = front->link;
	delete p;
}

#endif

⌨️ 快捷键说明

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