数据结构4:链表专题

来源:互联网 发布:能够翻译文档软件 编辑:程序博客网 时间:2024/06/07 03:26

链表实现类

package ch04;/* * 链表,相当于火车 */public class LinkList {    //头结点    private Node first;    public LinkList() {        first = null;    }    /**     * 插入一个结点,在头结点后进行插入     */    public void insertFirst(long value) {        Node node = new Node(value);        node.next = first;        first = node;    }    /**     * 删除一个结点,在头结点后进行删除     */    public Node deleteFirst() {        Node tmp = first;        first = tmp.next;        return tmp;    }    /**     * 显示方法     */    public void display() {        Node current = first;        while(current != null) {            current.display();            current = current.next;        }        System.out.println();    }    /**     * 查找方法     */    public Node find(long value) {        Node current = first;        while(current.data != value) {            if(current.next == null) {                return null;            }            current = current.next;        }        return current;    }    /**     * 删除方法,根据数据域来进行删除     */    public Node delete(long value) {        Node current = first;        Node previous = first;        while(current.data != value) {            if(current.next == null) {                return null;            }            previous = current;            current = current.next;        }        if(current == first) {            first = first.next;        } else {            previous.next = current.next;        }        return current;    }}

定义节点类

package ch04;/* * 链结点,相当于是车厢 */public class Node {    //数据域    public long data;    //指针域    public Node next;    public Node(long value) {        this.data = value;    }    /**     * 显示方法     */    public void display() {        System.out.print(data + " ");    }}

链表测试类

package ch04;public class TestLinkList {    public static void main(String[] args) {        LinkList linkList = new LinkList();        linkList.insertFirst(34);        linkList.insertFirst(23);        linkList.insertFirst(12);        linkList.insertFirst(0);        linkList.insertFirst(-1);//      linkList.display();//      //      linkList.deleteFirst();//      linkList.display();//      //      Node node = linkList.find(23);//      node.display();        Node node1 = linkList.delete(0);        node1.display();        System.out.println();        linkList.display();    }}
原创粉丝点击