链表
IMyLink
先定义一个接口,主要包含规定相关的增删改查的方法、索引器,count属性访问器
namespace 链表
{
interface IMyLink<T>
{
//接口的作用
//1、为后面要写的内容提供一个强制的模板,规范代码
//2、作为一个提纲的作用,为后面要写的内容提供思路
//3、提高写代码的效率
//增
void Add(T t);
void Insert(int index, T t);
//删
void Remove(T t);
void RemovedAll(T t);
void RemoveAt(int index);
//改
//查
T this[int index]
{
get;
set;
}
//获取容器的长度
int Count { get; }
}
}
Node
链表的地址存储不是连续的,所以要定义一个节点用于存储自己的值,如果是单向链表,就要存储下一个节点的信息,如果是双向链表,就要存储上一个节点和下一个节点的信息
namespace 链表
{
class Node<T>
{
//值
T value;
//属性访问器