怎么用C++面向对象的方法实现双向链表啊?

来源:百度知道 编辑:UC知道 时间:2024/07/05 22:26:04
用类实现,别用结构。我不用STL...别提STL...就说怎么实现...

写好的.h和.cpp +QQ查收

以前写快速排序的时候正好写了个:
template <class T>
public class Node
{
private:
T _data;
Node<T> *_before;
Node<T> *_after;
public:
Node<T> * getHead()
{
Node<T> * pHead=this;
while(pHead->getBefore())
{
pHead=pHead->getBefore();
}
return pHead;
}
Node<T> * getTail()
{
Node<T> * pTail=this;
while(pTail->getAfter())
{
pTail=pTail->getAfter();
}
return pTail;
}
void insertBefore(Node<T> * pNode)
{
if(pNode==NULL)
return;
Node<T> * pBefore=this->getBefore();

if(pBefore!=NULL)
{

pBefore->_after=pNode;
}
pNode->_before=pBefore;
_before=pNode;
pNode->_after=this;
}
void insertAfter(Node<T> * pNode)
{
if(pNode==NULL)
re