JAVA 单向链表 双向链表

2024-12-05 02:42:03
推荐回答(2个)
回答1:

看看
http://www.baidu.com/s?bs=v&f=8&wd=JAVA+%B5%A5%CF%F2%C1%B4%B1%ED+%CB%AB%CF%F2%C1%B4%B1%ED

//双向链表的简单表达

public class Mulit {

private class Node
{
private String data;
private Node upNode;
private Node downNode;
public Node()
{
data=null;
upNode=null;
downNode=null;

}
public Node(String newData,Node newDownNode)
{
data=newData;
downNode=newDownNode;
// upNode=newDownNode;
}

}
Node head;
public Mulit()
{
head=null;

}
public void add(String newData)
{
Node lastNode=head;

if(head==null)
head=new Node(newData,head);
else
{
head=new Node(newData,head);
lastNode.upNode=head;
}
}
public void display()
{
Node position =head;
while(position!=null)
{
System.out.print(position.data);
position=position.downNode;
}
}
public void otherDisp()
{
Node position=head;
while(position.downNode!=null)
{
position=position.downNode;
}
//现实的时候有显示不了最后一个,需要解决
do
{
System.out.print(position.data);
position=position.upNode;
}
while(position.upNode!=null);

}
public static void main (String[] args)
{
Mulit m=new Mulit();
m.add("hello");
m.add("world");
m.add("!");
m.add("");
m.display();
System.out.println();
m.otherDisp();
}
}

生成输出:

--------------------配置: <--------------------
!worldhello
helloworld!
处理已完成。

回答2:

据我所知
单向链表就是一个类,只记录下一个节点和当前值。
双向链表,增加一个属性,还记录上一个节点