标签:容器 span public round tool == virt show 存储
链表可以说在数据结构中拥有很广泛的应用
它是一个非常好的容器,它和传统的数组相比较,它具有良好的可变性
链表最基础的功能是增删改查,关于查找,C#提供了一种属性 索引函数
然后,它的基本形式如下
首先 ,我们应该用一个节点来存储信息,我使用泛型的节点
class Node<T> { public T Data; public Node<T> Next; public Node() { } public Node(T Data) { this.Data = Data; } }
然后便是链表
public delegate bool CompareTool<T>(T a, T b); public delegate void ShowInfo<T>(T a, T b); class LinkList<T> { protected Node<T> Head; protected int _length; public CompareTool<T> CTool; public delegate void ShowInfo<L>(L a); public ShowInfo<T> SI; public T this[int Index] { get => Find(Index); } public int Length { get => _length; } public LinkList() { Head = new Node<T>(); _length = -1; } public LinkList(T a) { Head = new Node<T>(); Head.Next=new Node<T>() { Data=a } _length = 0; } public void Enter(T Ves) { Enter(Ves, -2); } public virtual void Enter(T Ves,int pos) { Node<T> a = new Node<T>(Ves); if (pos == -3)//按序插 { } else if (pos == -2)//插头 { } else if (pos == -1)//插尾 { } else//指定位置 { } } public virtual T Find(int Index) { } public T Out() { return Out(-2); } public virtual T Out(int pos) { Node<T> temp; if (pos == -2)//删头 { } else if (pos == -1)//删尾 { } else//指定位置 { } _length--; return temp.Data; } public void Serialize() { } public void Deserialize() { } public bool CompareTo(T Value) { return CTool(Head.Data,Value); } public void Show() { Node<T> a = Head; while(a!=null) { SI(a.Data); a = a.Next; } } }
标签:容器 span public round tool == virt show 存储
原文地址:http://www.cnblogs.com/algori/p/7208520.html