java已经学到了递归调用方法,现在刚刚开始学习java数据结构与算法不久~
今天学习循环单链表,不太能想到参考代码给出的思路,所以尝试按照自己的思路来敲代码,但是绕着绕着就不知道自己哪里出错了,请大家帮忙看看,谢谢~(顺便请问一下在写代码时自己思考得很绕是正常的吗?是不是因为自己java还没有学完,知识储备不够呀?)
package com.atzy.LinkedList;
public class CircleLinkedList {
public static void main(String[] args) {
// TODO Auto-generated method stub
//测试
int n = 5;
Circle list = new Circle();
list.CreateCircle(n);
list.show();
}
}
class Circle{
private Boy curBoy;
private Boy first = new Boy(1);
public void CreateCircle(int nums) {
curBoy = first;
for(int i = 2;i <= nums;i++) {
Boy newboy = new Boy(i);
curBoy.next = newboy;
newboy.next = curBoy;
curBoy = curBoy.next;
}
}
public void show(){
curBoy = first;
while((curBoy.next).no != first.no) {
System.out.println(curBoy.no);
curBoy = curBoy.next;
}
}
}
//先创建一个Boy类
class Boy{
public int no;
public Boy next;
public Boy(int no) {
this.no = no;
}
@Override
public String toString() {
return "Boy [no=" + no + "]";
}
}