首页 > 代码库 > 数据结构-双端链表

数据结构-双端链表

数据结构-双端链表

双端链表与传统的链表非常相似,但是它有一个新的特性:对最后一个链接点的引用,就像对第一个链接点的引用一样,对最后一个链结点引用像在表头一样,当然可以仍然可以像普通链表一样在表尾插入一个链接点方法是遍历整个链表至到到达表尾,双端链表,跟双向链表是不一样的,下节在详细说双向链表。

package 双端链表;public class Link {    public double data;    public Link next;        public Link(double d)    {        data = d;    }        //打印节点的方法    public void displayLink()    {        System.out.print(data+"  ");    }    }-------------------------------------------------------------------------------package 双端链表;public class LinkLastFirst {    private Link first;    private Link last;        public LinkLastFirst()    {        first = null;        last = null;    }    //双端链表的头插入的实现    public void insertFirst(double data)    {        Link newLink = new Link(data);        if(isEmpty())        {            last = newLink;        }        else{            newLink.next = first;        }            first = newLink;            }    private boolean isEmpty() {        //判断双端链表是不是为空        if(first == null)        {            return true;        }        return false;    }        //尾插法的实现    public void insertLast(double data)    {        Link newLink = new Link(data);//生成的新的链接点        if(isEmpty())        {            first = newLink;        }else{            last.next = newLink;        }            last = newLink;                    }        //删除第一个节点的方法的实现    public double deleteFirst()    {        double data =http://www.mamicode.com/ first.data;        if(first.next == null)        {            last = null;                    }else{            first = first.next;                    }        return data;                    }            public void displayList()    {        Link current =first;        while(current != null)        {            current.displayLink();            current = current.next;        }        System.out.println("  ");    }                }

测试结果:

66.0 44.0 22.0
66.0 44.0 22.0 11.0 33.0 55.0
22.0 11.0 33.0 55.0

 

数据结构-双端链表