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

📄 linkedstack.h

📁 实现LZW压缩及解压缩的程序
💻 H
字号:

#ifndef LINKEDSTACK_H
#define LINKEDSTACK_H

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

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

template <class T>
void LinkedStack<T>::Push(T& x)
{
	Node<T>* p = new Node<T>;
	p->data = x;
	p->link = top;
	top = p;
}

template <class T>
void LinkedStack<T>::Pop()
{
	if (IsEmpty())
	{
		throw OutOfBounds();
	}
	Node<T>* p = top;
	top = top->link;
	delete p;
}

template <class T>
T LinkedStack<T>::Delete()
{
	if (IsEmpty())
	{
		throw OutOfBounds();
	}
	T temp = top->data;
	Node<T>* p = top;
	top = top->link;
	delete p;
	return temp;
}

template <class T>
void LinkedStack<T>::Print()
{
	Node<T>* p = top;
	while (p)
	{
		cout<<p->data<<"   ";
		p = p->link;
	}
	cout<<endl;
}

#endif

⌨️ 快捷键说明

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