单链表的实现
单链表实现有多种方式,我将采用template模板方式,请看如下代码:
注:在使用template时定义和实现如何分开写,编译会出错,所以我把实现也放在了头文件。
/*************************************************************************
1、复合类:在Node类中定义友元的方式,使List类可以访问结点的私有成员
*************************************************************************/
class LinkNode
{
friend class LinkList;
private:
int data;
LinkNode *next;
};
class LinkList
{
public:
//单链表具体操作
private:
LinkNode *head;
};
/*************************************************************************
2、嵌套类:在List内部定义Node类,但是Node的数据成员放在public部分,使List
和Node均可以直接访问Node的成员
*************************************************************************/
class LinkList
{
public:
//单链表具体操作
private:
class LinkNode
{
public:
int data;
LinkNode *next;
};
LinkNode *head;
};
/************************************************************