单向链表

来源:互联网 发布:公务员网络课程 编辑:程序博客网 时间:2024/05/22 08:20

单链表:

单链表结构中每个元素都存在值和引用,而且每个元素中的引用指向了下一个元素。元素里又有值和引用,引用又指向了下一个元素……..这样以此类推就构成了单向链表。

元素插入时,要把当前要插入元素指向前一个元素的引用。在这之前要把当前引用指向插入元素的引用

往后追加对象时,要新增一个元素若新增元素为空,才把追加的元素赋给新元素。

链表结构没有下标,没有下标是优点也是缺点,链表拿引用来确定元素的位置。所以插入删除效率非常高。但是由于没有下标概念,所以遍历效率非常慢。

public class MyLink {    private int date;//链表的值    private MyLink next; //链表的引用    public MyLink(int i){        date=i;  //值传给当前的值    }    public void add(MyLink link){        link.next=next; //当前链表的引用赋给传入链表的引用        next=link; //传入的链表赋给当前链表的引用    }    public void append(MyLink mylink){        MyLink x=this;  //当前链表赋给新增链表,实现追加        while(x.next!=null){  //当新增链表的引用了一个链表时            x=x.next;     //把新增链表的引用指向本身        }        x.next=mylink;  //当新增链表没有引用到下一个链表,就把传入的链表赋给新增链表的引用    }    public void show(){        MyLink x=this;  //当前链表赋值给新增链表。        while(x!=null){  //新增链表不为空表明有数据            System.out.println(x.date);  //输出新增链表的值            x=x.next;   //把当前链表的引用赋给当前链表,实现追加,继续遍历输出。        }    }    public static void main(String[] args) {        MyLink link=new MyLink(1);        link.add(new MyLink(8));        link.append(new MyLink(10));        link.show();    }}
原创粉丝点击