循环链表的类定义JAVA_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;

}

}

}

0b1331709591d260c1c78e86d0c51c18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值