首页 > 编程语言 > 详细

java实现单链表

时间:2019-07-13 16:34:53      阅读:100      评论:0      收藏:0      [点我收藏+]
package linkedList;

public class SingleLinkedListDemo {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        //进行测试
        //先创建节点
        HeroNode hero1=new HeroNode(1, "宋江", "及时雨");
        HeroNode hero2=new HeroNode(2, "卢俊义", "玉麒麟");
        HeroNode heao3=new HeroNode(3, "吴用", "智多星");
        HeroNode heao4=new HeroNode(4, "林冲", "豹子头");
        
        SingleLinkedList singleLinkedList=new SingleLinkedList();
        singleLinkedList.add(hero1);
        singleLinkedList.add(hero2);
        singleLinkedList.add(heao3);
        singleLinkedList.add(heao4);
        singleLinkedList.list();

    }

}
//定义singleLinkedList来管理我们的英雄
class SingleLinkedList
{
    //先初始化一个头结点,头结点不要动
    private HeroNode head=new HeroNode(0, "", "");
    //思路
    //1.找到当前链表的最后一个节点
    //2.将最后节点的next域指向新的节点
    //添加节点到单向链表
    public void add(HeroNode heroNode)
    {
        //head节点不可以动,因此我们需要一个辅助遍历temp
        HeroNode temp=head;
        //遍历链表找到,找到最后
        while(true)
        {
            //当什么情况下,说明链表带最后了
            if(temp.next==null)
            {
                break;
            }
            //如果没有找到,就将指针后移
            temp=temp.next;
        }
        temp.next=heroNode;
    }
    
    //显示列表
    public void list()
    {
        //先判断列表是否为空
        if(head.next==null)
        {
            return;
        }
        //因为头结点不能动,因此需要一个辅助变量来变量
        HeroNode temp=head.next;
        while(true)
        {
            if(temp==null)//如果为空
            {
                break;
            }
            else
            {
                //输出节点的信息
                System.out.println(temp);
                //将temp后移
                temp=temp.next;
            }
        }
    }
}




//定义一个HeroNode,每个HeroNode对象就是一个节点
class HeroNode
{
    public int no;
    public String name;
    public String nickName;
    public HeroNode next;//指向下一个节点
    
    //构造器
    public HeroNode(int no,String name,String nickName)
    {
        this.no=no;
        this.nickName=nickName;
        this.name=name;
    }
    //为了显示方便,重写toString方法

    @Override
    public String toString() 
    {
        return "HeroNode [no=" + no + ", name=" + name + ", nickName=" + nickName+ "]";
    }
    
}

 

java实现单链表

原文:https://www.cnblogs.com/mengxiaoleng/p/11180824.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!