zoukankan      html  css  js  c++  java
  • java实现单链表

    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+ "]";
        }
        
    }
  • 相关阅读:
    [洛谷P2745] [USACO5.3]窗体面积Window Area
    [洛谷P2751] [USACO4.2]工序安排Job Processing
    [洛谷P2738] [USACO4.1]篱笆回路Fence Loops
    [洛谷P4609] [FJOI2016]建筑师
    [洛谷P3228] [HNOI2013]数列
    解决Qt5使用SSL的“qt.network.ssl: QSslSocket: cannot resolve SSLv2_client_method”错误
    qt查看是否支持SSL
    qt获取依赖的openssl的版本
    qt关闭ssl验证,解决不能正常使用自签署ssl证书API的问题
    使用OpenSSL创建HTTPS所使用的SSL证书
  • 原文地址:https://www.cnblogs.com/mengxiaoleng/p/11180824.html
Copyright © 2011-2022 走看看