节点类
#ifndef Node_H
#define Node_H
template class Type class Node //单链节点类
{
public:
Type data;
NodeType *link;
Node() : data(Type()), link(NULL) {}
Node(const Type &item) : data(item), link(NULL) {}
Node(const Type &item, NodeType *p) : data(item), link(p) {}
};
#endif
因为数据结构里用到这个结构的地方太多了,假如用《数据结构》那种声明友元的做法,那声明不知道要比这个类的本身长多少。不如开放成员,事实上,这种结构只是C中的strUCt,除了为了方便初始化一下,不需要任何的方法,原书那是画蛇添足。下面可以看到,链表的public部分没有返回Node或者Node*的函数,所以,别的类不可能用这个开放的接口对链表中的节点操作。
原书...[ 查看全文 ]