Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / Java程序设计之循环链表

循环链表,顾名思义循环就好了,所以建一个线性表之后,在尾指针之后.next=first就好了,照例先建一个结构体(类似于C语言的结构体,Java里面是类):class Person{
    protected Person next;
    protected int data;
    public Person(int data){
        this.data = data;
    }
   
    public void display(){
        System.out.println(data);
    }
}
/*
*next是一个为经过引用的Person类,并未在堆上分配出内存(这里我不确定,代码猜测)
*/接着我们来写操作这个Person对象内存空间的链表类,类似于写一个链表的工具类: 首先一定是先建立一个头指针,指向第一个节点:protected Person first; 这个first类未经引用,当用对象引用这个first时,一定要注意对象的一致,底下加一个构造方法:public link(){
        this.first = null;
    }头结点创立好了,在对象引用这个工具类时,头结点就被定义了,所以下面写一个方法,用来创立循环链表:public void fun(){
        Scanner s = new Scanner(System.in);
        System.out.print("请输入链表长度,输入为纯数字:");
        int value = Integer.parseInt(s.nextLine());
        Person p = null;
        first = new Person(n--); //一定要是头结点第一个被建立,因为开始定义的就是first
        p = first;
        while(n-->0){
            p.next = new Person(n+1);
            p = p.next;
        }
        p.next = first;这个类的名字叫link,看构造方法,这个链表的工具类就完成了。下面写一段代码引用一下,代码很简单:public class Huan {    public static void main(String[] args) {
        // TODO Auto-generated method stub
        link l = new link();
        l.fun();
        Person p = l.first;
        while(p!=null){
            p.display();
            p = p.next;
        }
    }
}本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-10/124487.htm