?? 9_5.h
字號:
//9_5.h
#ifndef NODE_CLASS
#define NODE_CLASS
//類聲明部分
template <class T>
class Node
{
private:
Node<T> *next; //指向后繼結(jié)點的指針
public:
T data; //數(shù)據(jù)域
Node (const T& item, Node<T>* ptrnext = NULL); // 構(gòu)造函數(shù)
void InsertAfter(Node<T> *p); // 在本結(jié)點之后插入一個同類結(jié)點p
Node<T> *DeleteAfter(void); // 刪除本結(jié)點的后繼結(jié)點,并返回其地址
Node<T> *NextNode(void) const; // 獲取后繼結(jié)點的地址
};
// 類的實現(xiàn)部分
// 構(gòu)造函數(shù),初始化數(shù)據(jù)和指針成員
template <class T>
Node<T>::Node(const T& item, Node<T>* ptrnext) : data(item), next(ptrnext)
{}
// 返回后繼結(jié)點的指針
template <class T>
Node<T> *Node<T>::NextNode(void) const
{ return next; }
// 在當前結(jié)點之后插入一個結(jié)點p
template <class T>
void Node<T>::InsertAfter(Node<T> *p)
{
p->next = next; //p結(jié)點指針域指向當前結(jié)點的后繼結(jié)點
next = p; //當前結(jié)點的指針域指向p
}
// 刪除當前結(jié)點的后繼結(jié)點,并返回其地址
template <class T>
Node<T> *Node<T>::DeleteAfter(void)
{
Node<T> *tempPtr = next; //將欲刪除的結(jié)點地址存儲到tempPtr中
if (next == NULL) //如果當前結(jié)點沒有后繼結(jié)點,則返回NULL
return NULL;
next = tempPtr->next; //使當前結(jié)點的指針域指向tempPtr的后繼結(jié)點
return tempPtr; //返回被刪除的結(jié)點的地址
}
#endif // NODE_CLASS
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -