利用C++实现单链表的基本操作
利用C++的模板类,实现了一些对于单链表的一些基本操作,包括插入、删除、查找等基本操作。实现的内容可能相对单薄,但我觉得能够帮助大家对单链表有一个比较好的理解。代码如下:
#include<iostream>
using namespace std;
template<typename datatype>class listnode;
/*************************链表结构声明*********************************/
template<typename datatype> class linklist
{
public:
//无参数的构造函数
linklist()
{
head = new listnode<datatype>();
length = 0;
}
//有参数的构造函数
linklist(listnode<datatype> *node)
{
head =node;
}
~linklist()
{
delete []head;
}
public:
bool insertNode(int i,datatype data); //在i位置插入值
bool deleteNode(int i); //删除i位置的值
datatype findValue(int i); //发现i位置的值
int length; //链表的长度
private:
listnode<datatype> *head;
//表示链表长度
};
/*************************链表数据结构声明*********************************/
template<typename datatype>class listnode
{
public:
//头结点指针初始为空