线性表链式存储结构的C++模板类程序源代码

线性表链式存储结构就是链表,刚开始定义该结构的时候,一直困惑于链表的成员变量是否只是一个节点头指针,觉得为什么不能将节点结构体的数据和next节点指针直接作为链表的成员变量呢?现在回过头来想想,是混淆了链表和节点的概念,节点就是个独立的数据结构,而链表使用节点头指针表示一系列节点组成的序列。若直接将data和next作为链表的成员变量,那么我定义了一个链表,它具有一个data和一个指向其他链表的指针,那么在链表中增加变量就是一系列链表,整个逻辑关系就非常混乱,不可取。所以节点和链表都是单独的,查了一些资料,节点和链表的实现可以采用4中方法:嵌套类、复合类、继承类、结构体定义节点。这四种方法的介绍可以通过静默虚空同学的博客。(http://www.cnblogs.com/jingmoxukong/p/3827011.html)本文采用第四种方法进行构造,具体源代码如下所示:

//linkedlist
#ifndef LINKEDLIST
#define LINKEDLIST
template<class Type>
struct LinkNode{
Type data;
LinkNode<Type>* next;
};
template<class Type>
class LinkedList{
private: 
LinkNode<Type>* head;
public:
LinkedList();
~LinkedList();
bool Insert(int position,Type x);
bool Delete(int position);
int Find(Type x);
int GetSize();
void Print();
};


template<class Type>
LinkedList<Type>::Linke
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值