public?Node?selectNode(String?data){
if(this.getData().equals(data)){
System.out.println("該節(jié)點存在");
return?this?;
}else{
if(this.next?==?null){
System.out.println("該節(jié)點不存在");
}else{
this.next.selectNode(data)?;
}
}
此代碼是Link類的內(nèi)部類Node的一部分,該方法旨在獲取滿足Node.data等于給定data的節(jié)點。一下是全部代碼:public?class?Links{
class?Node{ //內(nèi)部類來實現(xiàn)
private?String?data?=?null?;
private?Node?next?=?null?;
public?Node(String?data){
this.setData(data)?;
}
public?void?setData(String?data){
this.data?=?data?;
}
public?String?getData(){
return?this.data?;
}
public?void?linkNext(Node?node){
if(this.next?==?null){
this.next?=?node?;
}else{
this.next.linkNext(node)?;
}
}
public?Node?selectNode(String?data){
if(this.getData().equals(data)){
System.out.println("該節(jié)點存在");
return?this?;
}else{
if(this.next?==?null){
System.out.println("該節(jié)點不存在");
}else{
this.next.selectNode(data)?;
}
}
}
}
private?int?length?=?0?; //記錄鏈表長度
private?Node?headNode?=?null?; //頭結(jié)點
private?Node?pointNode?=?null?; //備用指針
public?void?resetPointNode(){ //備用指針節(jié)點初始化
this.pointNode?=?null?;
}
public?void?addNodeToLink(String?data){
Node?node?=?new?Node(data)?;
if(this.headNode?==?null){
this.headNode?=?node?;
}else{
this.headNode.linkNext(node)?;
}
this.length?++?;
}
public?void?delNodeFromLink(String?data){}
public?void?sltNodeFromLink(String?data){
this.pointNode?=?this.headNode.selectNode(data)?;
this.resetPointNode()?;
}
public?void?fixNodeFromLink(String?oldData,String?newData){
this.pointNode?=?this.headNode.selectNode(oldData)?;
this.pointNode.setData(newData)?;
this.resetPointNode()?;
}
public?int?getLinkLength(){ //獲取鏈表長度
return?this.length?;
}
public?void?printLink(){
this.pointNode?=?this.headNode?;
for(int?i=0?;i?<?this.length?;i?++){
if(this.pointNode.next?==?null){
System.out.println(this.pointNode.getData());
}else{
System.out.print(this.pointNode.getData()?+?"->");
}
this.pointNode?=?this.pointNode.next?;
}
this.resetPointNode()?;
}
/*
public?void?delNodeFromLink(int?nodeNum){}
public?void?sltNodeFromLink(int?nodeNum){}
public?void?fixNodeFromLink(int?nodeNum){}
//*/
}
添加回答
舉報
0/150
提交
取消