C#数据结构篇(一链表类)
点击次数:75 次 发布日期:2008-11-06 08:08:24 作者:源代码网
|
我发现用c# 编一些数据接结构的类也瞒不错的,于是想把数据结构的算法,用C#重写一遍,打发无聊的时光,下面是数据结构中的链表的实现。 首先定义结点类型,定义了,前一个指针域,后一个指针域,如下: using System; namespace List { /// <summary> /// Summary description for ListNode. /// </summary> // 结点类 public class ListNode { public ListNode(int NewValue) { Value=NewValue; } /// <summary> /// 前一个 /// </summary> public ListNode Previous; /// <summary> /// 后一个 /// </summary> public ListNode Next; /// <summary> /// 值 /// </summary> public int Value; } } using System; namespace List { /// <summary> /// 链表类 /// </summary> 定义结点之后,开始类线性表的操作编程了.在LIST 类中,采用了,Head ,Tail, Current,三个指针,使用Append ,MoveFrist,MovePrevious,MoveNext,MoveLast ,Delete,InsertAscending,InsertUnAscending ,Clear 实现移动,添加,删除,升序插入,降序插入,清空链表操作,GetCurrentValue() 方法取得当前的值。 public class Clist { public Clist() { //构造函数 //初始化 ListCountValue=0; Head=null; Tail=null; } /// <summary> /// 头指针 /// </summary> private ListNode Head; /// <summary> /// 尾指针 /// </summary> private ListNode Tail; /// <summary> /// 当前指针 /// </summary> private ListNode Current; /// <summary> /// 链表数据的个数 /// </summary> private int ListCountValue; /// <summary> /// 尾部添加数据 /// </summary> public void Append(int DataValue ) { ListNode NewNode=new ListNode( DataValue); if (IsNull()) //如果头指针为空 { Head=NewNode; Tail=NewNode; } else { Tail.Next =NewNode; 源代码网推荐 源代码网供稿. |
