Java链表
代码结构如下
首先创建一个节点类,这个类有两个属性,一个是数据,一个是指向下一个对象的引用(指针)
public class Node { int data; //数据域 Node next; //下一个节点 //构造方法 public Node(int data){ this.data = data; //每创建一个新的节点,他的下一个都设置成null this.next = null; } }
一个链表需要一个头节点,和一个遍历用的引用(指针)
public class LinkedList { private Node first; //用来存放头节点 private Node last; //用来遍历的节点,存数据,读数据 //判断链表是否为空 public boolean isEmpty(){ return (first == null); } //打印链表 public void printList(){ //从头节点向后遍历,输出数据 Node node = first; while(node != null){ System.out.print(node.data + " "); node = node.next; } } //插入链表 public void insert(int data){ Node newNode = new Node(data); if(this.isEmpty()){ //如果头节点为空,给frst赋值,last指向第一个节点 first = newNode; last = newNode; }else{ //给指向的节点后面加一个节点,然后再指向最后那个节点 last.next = newNode; last = newNode; } } public static void main(String[] args) { LinkedList list = new LinkedList(); list.insert(3); list.insert(1); list.insert(2); list.insert(5); list.insert(8); list.printList(); } }