【转载】C#写的顺序储存结构和链式储存结构,最简单基本的数据结构

               C#写的顺序储存结构和链式储存结构,最简单基本的数据结构


目录

1、博客介绍

2、内容

3、推送

4、结语


1、博客介绍

       本文所有代码摘自【数据结构(C#语音版)】——雷军环,邓文达,刘震编著。用C#写的最简单的顺序存储结构和链式存储结构。


2、内容

------------------------固定长度的顺序存储结构-------------------------
/// <summary>
/// 固定长度的顺序存储结构
/// </summary>
/// <typeparam name="T"></typeparam>
public class SeqStructure<T>
{
    private T[] _data;
    private int _i;

    public SeqStructure(int size)
    {
        _data = new T[size];
    }

    public void AddData(T var)
    {
        _data[_i++] = var;
    }
}
 ----------------------------单向链式结构-----------------------------

/// <summary>
/// 单向链式结构基础元素
/// </summary>
/// <typeparam name="T"></typeparam>
public class LinkedNode<T>
{
    private T _data;


    private LinkedNode<T> _next;

    public LinkedNode()
    {
        _data = default(T);
        _next = null;
    }

    public LinkedNode(T val)
    {
        _data = val;
        _next = null;
    }

    public T Data
    {
        get { return _data; }
        set { _data = value; }
    }

    public LinkedNode<T> Next
    {
        get { return _next; }
        set { _next = value; }
    }
}

class LinkedStructure<T>
{
    private LinkedNode<T> _first;
    private LinkedNode<T> _current;

    public LinkedStructure()
    {
        _first = null;
    }

    public void AddData(LinkedNode<T> var)
    {
        if (_first==null)
        {
            _first = var;
            _current = var;
        }
        else
        {
            _current.Next = var;
            _current = var;
        }
    }
}

 

 ----------------------------双向链式结构-----------------------------


public class DbNode<T>
{
    private T _data;//数据

    private DbNode<T> _prev;//前驱引用域
    private DbNode<T> _next;//后驱引用域

    public DbNode(T val, DbNode<T> p)
    {
        _data = val;
        _next = p;
    }

    public DbNode(DbNode<T> p)
    {
        _next = p;
    }

    public DbNode(T val)
    {
        _data = val;
        _next = null;
    }

    public DbNode()
    {
        _data = default(T);
        _next = null;
    }

    public T Data
    {
        get { return _data; }
        set { _data = value; }
    }


    public DbNode<T> Prev
    {
        get { return _prev; }
        set { _prev = value; }
    }

    public DbNode<T> Next
    {
        get { return _next; }
        set { _next = value; }
    }
}

 


3、推送

博主Github:https://github.com/KingSun5


4、结语

       本文不作过多介绍,加深对数据结构的认识,有兴趣的可以直接去买本书看看,若是觉得博主的文章写的不错,不妨关注一下博主,点赞一下博文,另博主能力有限,若文中有出现什么错误的地方,欢迎各位评论指摘。

       QQ交流群:806091680(Chinar)

       该群为CSDN博主Chinar所创,推荐一下!我也在群里!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值