当前位置:首页 > 网络编程 > 软件语言 > .NET > C#数据结构篇(一链表类)

C#数据结构篇(一链表类)

点击次数:75 次 发布日期:2008-11-06 08:08:24 作者:源代码网
源代码网推荐
广告载入中
C#数据结构篇(一)线性表

我发现用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;

源代码网推荐

源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华