dulqueue.cpp
来自「王红梅编《数据结构》大多数的实验源码。内附详细的实验报告。」· C++ 代码 · 共 80 行
CPP
80 行
#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 + =
减小字号Ctrl + -
显示快捷键?