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

📄 dulqueue.cpp

📁 王红梅编《数据结构》大多数的实验源码。内附详细的实验报告。
💻 CPP
字号:
#include "DulQueue.h"
#include <iostream.h>

template <class T>
DulQueue<T>::DulQueue()
{
	end1 = new DulNode<T>;
	end1->prior = NULL;
	end2 = new DulNode<T>;
	end2->next = NULL;
	end1->next = end2;
	end2->prior = end1;
}

template <class T>
DulQueue<T>::~DulQueue()
{
	DulNode<T> *p = end1;
	while (p != NULL)
	{
		DulNode<T> *t = p;
		p = p->next;
		delete t;
	}
}

template <class T>
void DulQueue<T>::EnQueue(int i, T x)
{
	if (i == 1)
	{
		DulNode<T> *dn = new DulNode<T>;
		dn->data = x;
		dn->prior = end1;
		dn->next = end1->next;
		end1->next->prior = dn;
		end1->next = dn;
	}
	else if (i == 2)
	{
		DulNode<T> *dn = new DulNode<T>;
		dn->data = x;
		dn->next = end2;
		dn->prior = end2->prior;
		end2->prior->next = dn;
		end2->prior = dn;
	}
	else
	{
		throw "未知异常";
	}
}

template <class T>
T DulQueue<T>::DeQueue(int i)
{
	T data;
	if (i == 1)
	{
		DulNode<T> *tmp = end1->next;
		data = end1->next->data;
		end1->next = end1->next->next;
		end1->next->prior = end1;
		delete tmp;
	}
	else if (i == 2)
	{
		DulNode<T> *tmp = end2->prior;
		data = end2->prior->data;
		end2->prior = end2->prior->prior;
		end2->prior->next = end2;
		delete tmp;
	}
	else
	{
		throw "未知异常";
	}
	return data;
}

⌨️ 快捷键说明

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