欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

O(1)时间复杂度删除链表节点Java代码演示,节点java,package line

来源: javaer 分享于  点击 4288 次 点评:216

O(1)时间复杂度删除链表节点Java代码演示,节点java,package line


package lineartable;/** * 链表节点类 */class Node{    public String value;    public Node next;    public Node(String value){        this.value=value;        this.next=null;    }}/** * 链表类 */public class LinkTable {    public Node head;    public LinkTable(Node node){        this.head=node;    }    /**     * 增加节点     */    public void addNode(Node node){        Node end=head;        while(end.next!=null){            end=end.next;        }        end.next=node;    }    /**     * 删除节点     * 时间复杂度为O(1)无需遍历链表元素     */    public void delNode(Node node){        node.value=node.next.value;        node.next=node.next.next;    }    /**     * 打印链表元素     */    public void print(){        Node index=this.head;        while(index!=null){            System.out.print(index.value+"-->");            index=index.next;        }        System.out.println("NULL");    }    public static void main(String [] args){        LinkTable lt=new LinkTable(new Node("中国"));        lt.addNode(new Node("美国"));        Node japanNode=new Node("日本");        lt.addNode(japanNode);        lt.addNode(new Node("意大利"));        lt.addNode(new Node("德国"));        lt.addNode(new Node("荷兰"));        lt.print();        lt.delNode(japanNode);        lt.print();    }}/**运行结果:中国-->美国-->日本-->意大利-->德国-->荷兰-->NULL中国-->美国-->意大利-->德国-->荷兰-->NULL*/
相关栏目:

用户点评