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

📄 dnode.h

📁 C、C++语言实现的数据结构重要算法和程序 比较全。
💻 H
字号:
//--------------------------//
//                          //
//       双向链结点类       //
//                          //
//--------------------------//

#if !defined(_INC_DNODE_OO)
#define _INC_DNODE_OO

#include<stdlib.h>
template<class T>
class DNode
{
 private:
	 DNode *left,*right;
 public:
	 T data;
	 DNode();
	 DNode *NextDNodeRight();
     DNode *NextDNodeLeft();
     void InsertRight(T item);
     void InsertLeft(T item);
     void Delete();
};

template<class T>
DNode<T>::DNode()
{
	left=this;
	right=this;
}

template<class T>
DNode<T>* DNode<T>::NextDNodeRight()
{
	return(right);
}

template<class T>
DNode<T>* DNode<T>::NextDNodeLeft()
{
	return(left);
}

template<class T>
void DNode<T>::InsertRight(T item)
{
	DNode<T> *q;
	q=new DNode<T>;
	if(q==NULL)
	{
		cerr<<"overflow"<<endl;
		exit(1);
	}
	q->data=item;
	q->right=right;
	right=q;
	q->left=this;
	q->right->left=q;
	

}

template<class T>
void DNode<T>::InsertLeft(T item)
{
	DNode<T> *q;
	q=new DNode<T>;
	if(q==NULL)
	{
		cerr<<"overflow"<<endl;
		exit(1);
	}
	q->data=item;
	q->left=left;
	left=q;
	q->right=this;
	q->left->right=q;
}

template<class T>
void DNode<T>::Delete()
{
	left->right=right;
	right->left=left;
	delete this;
}

#endif //_INC_DNODE_OO

⌨️ 快捷键说明

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