C#写的顺序储存结构和链式储存结构,最简单基本的数据结构
目录
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所创,推荐一下!我也在群里!