链表是数据结构中经常见到的一种形式
所谓的链表就好像火车车厢一样,从火车头开始,每一节车厢之后都连着后一节车厢
可以看出要想清楚地表示一个节点之后还有另一个节点,可以在一个节点的内部存放下一个节点的引用
class Node{
private String data; // 保存节点内容
private Node next; // 保存下一个节点
public Node(String data){
this.data = data; // 构造方法设置节点内容
}
public String getData(){
return this.data; // 得到节点内容
}
public void setNext(Node next){
this.next = next; // 设置下一个节点
}
public Node getNext(){
return this.next; // 取得下一个节点
}
}
public class Test{
public static void main(String[] args) {
Node root = new Node("火车头"); // 定义根节点
Node n1 = new Node("车厢-A"); // 定义第一个车厢
Node n2 = new Node("车厢-B"); // 定义第二个车厢
Node n3 = new Node("车厢-C"); // 定义第三个车厢
root.setNext(n1); // 火车头的下一个节点是第一个车厢
n1.setNext(n2); // 第一个车厢的下一个节点是第二个车厢
n2.setNext(n3); // 第二个车厢下一个节点是第三个车厢
printNode(root); //从根节点输出
}
public static void printNode(Node node){
System.out.print(node.getData() + "\t"); // 输出数据
if(node.getNext()!=null){ //判断节点是否为空
printNode(node.getNext()); // 继续向下打印
}
}
}
从代码中可知,判断一个节点是否还有后续节点,如果存在后续节点则输出,如果不存在则不输出,所以输出采用方法的递归完成(或称为迭代输出)