首页 > 代码库 > 从链表说起
从链表说起
链表可以说在数据结构中拥有很广泛的应用
它是一个非常好的容器,它和传统的数组相比较,它具有良好的可变性
链表最基础的功能是增删改查,关于查找,C#提供了一种属性 索引函数
然后,它的基本形式如下
首先 ,我们应该用一个节点来存储信息,我使用泛型的节点
class Node<T> { public T Data; public Node<T> Next; public Node() { } public Node(T Data) { this.Data =http://www.mamicode.com/ 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; } } }
从链表说起
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。