C#数据结构篇一线性表Word下载.docx

上传人:b****7 文档编号:22538195 上传时间:2023-02-04 格式:DOCX 页数:14 大小:15.66KB
下载 相关 举报
C#数据结构篇一线性表Word下载.docx_第1页
第1页 / 共14页
C#数据结构篇一线性表Word下载.docx_第2页
第2页 / 共14页
C#数据结构篇一线性表Word下载.docx_第3页
第3页 / 共14页
C#数据结构篇一线性表Word下载.docx_第4页
第4页 / 共14页
C#数据结构篇一线性表Word下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

C#数据结构篇一线性表Word下载.docx

《C#数据结构篇一线性表Word下载.docx》由会员分享,可在线阅读,更多相关《C#数据结构篇一线性表Word下载.docx(14页珍藏版)》请在冰豆网上搜索。

C#数据结构篇一线性表Word下载.docx

publicListNode(intNewValue)

Value=NewValue;

}

///前一个

publicListNodePrevious;

///后一个

publicListNodeNext;

///值

publicintValue;

}

///链表类

定义结点之后,开始类线性表的操作编程了.在LIST类中,采用了,Head,Tail,Current,三个指针,使用Append,MoveFrist,MovePrevious,MoveNext,MoveLast,Delete,InsertAscending,InsertUnAscending,Clear实现移动,添加,删除,升序插入,降序插入,清空链表操作,GetCurrentValue()方法取得当前的值。

publicclassClist

publicClist()

{

//构造函数

//初始化

ListCountValue=0;

Head=null;

Tail=null;

///头指针

privateListNodeHead;

///尾指针

privateListNodeTail;

///当前指针

privateListNodeCurrent;

///链表数据的个数

privateintListCountValue;

///尾部添加数据

publicvoidAppend(intDataValue)

ListNodeNewNode=newListNode(DataValue);

if(IsNull())

//如果头指针为空

Head=NewNode;

Tail=NewNode;

else

Tail.Next=NewNode;

NewNode.Previous=Tail;

Current=NewNode;

//链表数据个数加一

ListCountValue+=1;

///删除当前的数据

publicvoidDelete()

//若为空链表

if(!

IsNull())

//若删除头

if(IsBof())

Head=Current.Next;

Current=Head;

ListCountValue-=1;

return;

//若删除尾

if(IsEof())

Tail=Current.Previous;

Current=Tail;

//若删除中间数据

Current.Previous.Next=Current.Next;

Current=Current.Previous;

///向后移动一个数据

publicvoidMoveNext()

if(!

IsEof())Current=Current.Next;

///向前移动一个数据

publicvoidMovePrevious()

IsBof())Current=Current.Previous;

///移动到第一个数据

publicvoidMoveFrist()

///移动到最后一个数据

publicvoidMoveLast()

///判断是否为空链表

publicboolIsNull()

if(ListCountValue==0)

returntrue;

returnfalse;

///判断是否为到达尾部

publicboolIsEof()

if(Current==Tail)

///判断是否为到达头部

publicboolIsBof()

if(Current==Head)

publicintGetCurrentValue()

returnCurrent.Value;

///取得链表的数据个数

publicintListCount

get

returnListCountValue;

///清空链表

publicvoidClear()

MoveFrist();

while(!

IsNull())

//若不为空链表,从尾部删除

Delete();

///在当前位置前插入数据

publicvoidInsert(intDataValue)

ListNodeNewNode=newListNode(DataValue);

if(IsNull())

//为空表,则添加

Append(DataValue);

//为头部插入

NewNode.Next=Head;

Head.Previous=NewNode;

//中间插入

NewNode.Next=Current;

NewNode.Previous=Current.Previous;

Current.Previous.Next=NewNode;

Current.Previous=NewNode;

///进行升序插入

publicvoidInsertAscending(intInsertValue)

//参数:

InsertValue插入的数据

//为空链表

if(IsNull())

//添加

Append(InsertValue);

//移动到头

if((InsertValue<

GetCurrentValue()))

//满足条件,则插入,退出

Insert(InsertValue);

while(true)

if(InsertValue<

GetCurrentValue())

//满族条件,则插入,退出

break;

//尾部添加

//移动到下一个指针

MoveNext();

///进行降序插入

publicvoidInsertUnAscending(intInsertValue)

if(InsertValue>

好了,一个简单的链表类实现了,当然还有许多的功能,可以根据自己的需要添加就好了。

TOBECONTINUE。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1