目录
一、前言
在C++中,模板是一种强大的工具,它允许程序员编写与类型无关的代码,即所谓的泛型编程。今天我们将使用模板来实现一个单链表数据结构,这将允许我们创建可以存储任何类型数据的单链表。
二、什么是单链表?
单链表是一种基本的数据结构,它由一系列节点组成,每个节点都包含存储数据的值和一个指向列表中下一个节点的指针。如果当前节点是列表的最后一个节点,则该指针为null。
三、为什么使用模板?
通过使用模板,我们可以创建一个可以接受任何类型数据的单链表类,从而可以生成存储任意类型数据的链表实例,例如整数、浮点数甚至自定义类。
四、实现单链表模板类
下面是一个简单的单链表模板类的实现:
C++模版类实现单链表
/********************************线性表抽象类的定义***************************/
template <class dataType>
class list{
public:
virtual void empty()=0; //清空线性表
virtual int getLength()=0; //求表的长度
virtual void insert(int i,const dataType& x)=0; //在表中第i个位置插入值为x的元素
virtual void remove(int i)=0; //删除表中第i个位置的元素
virtual int search(const dataType& x)=0; //查找并返回值为x的元素在表中的位置
virtual dataType visit(int i)=0; //访问表中第i个元素的值
virtual void traverse()=0; //遍历线性表
};
/*******************************单链表类的定义********************************/
#include "list.h"
template <class dataType>
class linkList:public list<dataType>{ //公有继承自list类
public:
linkList(); //构造函数,创建对象时生成空链表
void empty(); //清空链表
int getLength(); //求表的长度
void ins