📄 dulqueue.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 + -