单链表----使用C Sharp创建单链表

单链表及其节点

链表是一系列的存储数据元素的单元通过指针串接起来形成的,因此每个单元至少有两个域,
一个域用于数据元素的存储,另一个域是指向其他单元的指针。
这里具有一个数据域和多个指针域的存储单元通常称为 结点(node)

链表的第一个结点和最后一个结点,分别称为链表的 首结点和 尾结点。
尾结点的特征是其 next 引用为空(null)。
链表中每个结点的 next 引用都相当于一个指针,指向另一个结点,
借助这些 next 引用,我们可以从链表的首结点移动到尾结点。
在单链表中通常使用 head 引用来指向链表的首结点,由 head 引用可以完成对整个链表中所有节点的访问。

单链表的一个重要特性就是只能通过前驱结点找到后续结点,而无法从后续结点找到前驱结点。


代码实现

实现接口

namespace _001_线性表
{
   
    interface IListMy<T>
    {
   
        int GetLength();
        void Clear();
        bool IsEmpty();
        void Add(T item);
        void Insert(T item, int index);
        T Delete(int index);
        T this[int index] {
    get; }//索引器
        T GetEle(int index);//根据索引得到元素
        int Locate(T item);//根据元素得到索引
    }
}


实现节点

namespace _001_线性表.单链表
{
   
    /// <summary>
    /// 单链表的结点
    /// </summary>
    class Node<T>
    {
   
        private T data;//存储数据
        private Node<T> next;//指针,指向下一个元素

        public Node()
        {
   
            Data = default(T);
            Next = null;
        }

        public Node(T value)
        {
   
            this.Data = value;
            Next = null;
        }

        public Node(Node<T> next
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值