码迷,mamicode.com
首页 > 编程语言 > 详细

环形链表---Java

时间:2016-03-31 20:27:54      阅读:339      评论:0      收藏:0      [点我收藏+]

标签:

/**
 * 
 * @author Administrator
 * 功能:丢手帕问题
 */
package com.litao;

public class Demo4 {
    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        CycLink cycLink = new CycLink();
        cycLink.setLen(9);
        cycLink.createLink();
        cycLink.show();
        
    }

}

//节点
class Child{
    int no;
    Child nextChild = null;
    
    public Child(int no)
    {
        //给一个编号
        this.no = no;
    }
}

//环形链表
class CycLink{
    //先定义一个指向链表第一个小孩的引用
    //指向第一个小孩的引用,不能动
    Child firstChild = null;
    Child temp = null;
    //表示链表的大小,共有几个小孩
    int len = 0;
    //设置链表的大小
    public void setLen(int len)
    {
        this.len = len;
    }
    //初始化环形链表
    public void createLink()
    {
        for (int i = 1; i <= len; i++) {
            if(i == 1){
                //创建第一个小孩                
                Child ch = new Child(i);
                this.firstChild = ch;
                this.temp = ch;                
            }
            else if(i >= 2 && i != len){
                //继续创建小孩
                Child ch = new Child(i);
                temp.nextChild = ch;
                temp = ch;
            }
            else if(i == len)
            {
                Child ch = new Child(i);
                temp.nextChild = ch;
                temp = ch;
                temp.nextChild = firstChild;
            }
        }
    }
    
    //打印该环形链表
    public void show()
    {
        //定义一个跑龙套的
        Child temp = this.firstChild;
        do{
            System.out.println(temp.no);
            temp = temp.nextChild;
        }while(temp != firstChild);
        
    }
    
}

 

环形链表---Java

标签:

原文地址:http://www.cnblogs.com/litao0505/p/5342551.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!