java链表代码_Java单向链表代码。

publicclassSingleLinkedList{publicSingleLinkDataFirstNode;publicintlength;//初始化链表,也就是首节点为空。publicvoidInitiate(){FirstNode=null;}//求链表的长度,做循环,当最...

public class SingleLinkedList {

public SingleLinkData FirstNode;

public int length;

//初始化链表,也就是首节点为空。

public void Initiate()

{

FirstNode = null;

}

//求链表的长度,做循环,当最后一个元素的值为空时为止。

public void Length()

{

length = 0;

SingleLinkData CurrentNode = FirstNode ;

while(CurrentNode != null )

{

CurrentNode = CurrentNode.NextNode;

length++;

}

}

//添加一个元素

public void Add(int datavalue)

{

//定义当前插入的为当前节点。

SingleLinkData CurrentNode=null;

if(length==0)

{

//链表为空时,让第一个节点记住插入的值,然后赋值给当前节点

FirstNode.data=datavalue;

CurrentNode = FirstNode;

}

//当链表不为空时。

if(length!=0)

{

//CNIndex当前节点的位置。

int CNIndex=0;

CurrentNode=FirstNode;

//新插入的节点

SingleLinkData NewNode=null;

//记录住次节点的值

NewNode.data=datavalue;

while(CurrentNode!=null)

{

CNIndex++;

CurrentNode=CurrentNode.NextNode;

if(CNIndex==length-1)

{

CurrentNode.NextNode=NewNode;

}

}

}

length++;

}

//在某个位置插入一个节点

public void Insert(int Index,int datavalue )

{

SingleLinkData NewNode = null;

NewNode.data = datavalue;

SingleLinkData CurrentNode = FirstNode;

if(Index<1 && Index>length+1)

{

return ;

}

int CNIndex=0;

while(CurrentNode!=null)

{

CNIndex++;

CurrentNode=CurrentNode.NextNode;

if(CNIndex==Index-1)

{

NewNode.NextNode=CurrentNode.NextNode;

CurrentNode.NextNode = NewNode;

}

}

length++;

}

//在某个位置删除一个节点。

public void Delete(int Index)

{

SingleLinkData CurrentNode = FirstNode;

if(Index<1 && Index>length)

{

return ;

}

int CNIndex=0;

while(CurrentNode!=null)

{

CNIndex++;

CurrentNode=CurrentNode.NextNode;

if(CNIndex==Index-1)

{

CurrentNode.NextNode = CurrentNode.NextNode.NextNode;

}

}

length--;

}

//链表的历遍

public void Traverse()

{

int i =0;

SingleLinkData CurrentNode = FirstNode;

while(CurrentNode!=null)

{

i++;

System.out.println("第"+i+"个元素为"+CurrentNode);

CurrentNode=CurrentNode.NextNode;

}

}

}

//自己构造节点类型,在这里我真的是不怎么懂,到底怎么构造,

//在方法里面的参数和方法外面的参数是什么关系。

class SingleLinkData

{

public SingleLinkData (int data){

Data = data;

NextNode = null;

}

public int Data;

public SingleLinkData NextNode;

}

我不是很会写代码,这个是我们现在学的内容,我就不知道我是那里错了,语法都是对的。

请大家帮忙仔细斟酌下,谢谢了。

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值