热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

java单链表实现,java循环链表

基本结构:classListNode{类名:Java类就是一种自定义的数据结构intval;数据:节点数据


链表是一种数据结构:由数据和指针构成,链表的指针指向下一个节点


java ListNode链表是用java自定义实现的链表结构。


基本结构:


class ListNode { //类名: Java类是定制的数据结构int val; //数据:节点数据ListNode next; //对象:引用以下节点对象: Java没有指针概念,Java引用与c语言指针相似}添加构造方法可以简化初始化。


class ListNode { //类名: Java类是定制的数据结构int val; //数据:节点数据ListNode next; //对象:引用以下节点对象: Java没有指针的概念。 Java引用和c语言指针类似于ListNode () listnode(intval ) /构造方法。 构造方法和类名相同的this.val=val; //将收到的参数转换为当前类的val变量}listnode(intval,ListNode next ) { this.val=val; //将收到的参数代入当前类的val变量this.next=next将收到的参数分配给当前类的next变量}


类型表示法:使用类型时与不同的数据类型:兼容


class ListNodeE{ //类名: Java类是自定义数据结构的E val。 //数据:节点数据ListNodeE next; listnode(eval )//生成方法:生成方法和类名相同的this.val=val; //将收到的参数代入当前类的val变量中}用例:


公共类列表节点{ int val; ListNode next; listnode(listnode ) intval ) { this.val=val; }listnode(intval,ListNode next ) { this.val=val; this.next=next; }//打印输出方法staticvoidprint (listnodelistnoed ) while ) listnoed!=null(system.out.println (节点: ) listnoed.val ); listNoed=listNoed.next; } } @Test public void test1 () listnodenodesta=newlistnode(0); //创建第一个节点ListNode nextNode; //在移动过程中声明指向当前节点的变量的nextNode=nodeSta; //创建指向起始节点的//链表for (inti=1; i 10; I )列表节点=新列表节点(I; //生成新节点nextNode.next=node连接新节点的nextNode=nextNode.next; //将当前节点向后移动,即,next后对象下的next为null}//for循环完成后,nextNode指向最后一个节点nextNode=nodeSta; //重新赋值以指向第一个节点的打印(下一个节点); //打印输出//替换节点while (下一个节点!=null(if ) nextnode.val==4) listnode new node=new listnode (99 ); //生成新节点new node.next=next node.next.next; //保存要替换的节点的下一个节点,然后在新节点的下一个节点nextNode.next=newnode; //新节点的下一个节点指向以前保存的节点} nextNode=nextNode.next; //循环完成后,下一个节点指向最后一个节点nextNode=nodeSta; //重新赋值以指向第一个节点的打印(下一个节点); //打印输出//插入节点while (下一个节点!=null(if ) nextnode.val==5) listnode new node=new listnode (99 ); //生成新节点ListNode node=nextNode.next首先保存下一个节点newnode.next=node新节点的下一个节点是以前保存的节点next node.next=//插入新节点} nextNode=nextNode.next; //循环完成后,下一个节点指向最后一个节点nextNode=nodeSta; //重新赋值以指向第一个节点的打印(下一个节点); //打印输出}创建链表时的调试:如下所示


推荐阅读
  • 本文探讨了C语言中指针的应用与价值,指针在C语言中具有灵活性和可变性,通过指针可以操作系统内存和控制外部I/O端口。文章介绍了指针变量和指针的指向变量的含义和用法,以及判断变量数据类型和指向变量或成员变量的类型的方法。还讨论了指针访问数组元素和下标法数组元素的等价关系,以及指针作为函数参数可以改变主调函数变量的值的特点。此外,文章还提到了指针在动态存储分配、链表创建和相关操作中的应用,以及类成员指针与外部变量的区分方法。通过本文的阐述,读者可以更好地理解和应用C语言中的指针。 ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • JavaSE笔试题-接口、抽象类、多态等问题解答
    本文解答了JavaSE笔试题中关于接口、抽象类、多态等问题。包括Math类的取整数方法、接口是否可继承、抽象类是否可实现接口、抽象类是否可继承具体类、抽象类中是否可以有静态main方法等问题。同时介绍了面向对象的特征,以及Java中实现多态的机制。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • 标题: ... [详细]
  • 模板引擎StringTemplate的使用方法和特点
    本文介绍了模板引擎StringTemplate的使用方法和特点,包括强制Model和View的分离、Lazy-Evaluation、Recursive enable等。同时,还介绍了StringTemplate语法中的属性和普通字符的使用方法,并提供了向模板填充属性的示例代码。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • SpringBoot uri统一权限管理的实现方法及步骤详解
    本文详细介绍了SpringBoot中实现uri统一权限管理的方法,包括表结构定义、自动统计URI并自动删除脏数据、程序启动加载等步骤。通过该方法可以提高系统的安全性,实现对系统任意接口的权限拦截验证。 ... [详细]
  • Python语法上的区别及注意事项
    本文介绍了Python2x和Python3x在语法上的区别,包括print语句的变化、除法运算结果的不同、raw_input函数的替代、class写法的变化等。同时还介绍了Python脚本的解释程序的指定方法,以及在不同版本的Python中如何执行脚本。对于想要学习Python的人来说,本文提供了一些注意事项和技巧。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • OO第一单元自白:简单多项式导函数的设计与bug分析
    本文介绍了作者在学习OO的第一次作业中所遇到的问题及其解决方案。作者通过建立Multinomial和Monomial两个类来实现多项式和单项式,并通过append方法将单项式组合为多项式,并在此过程中合并同类项。作者还介绍了单项式和多项式的求导方法,并解释了如何利用正则表达式提取各个单项式并进行求导。同时,作者还对自己在输入合法性判断上的不足进行了bug分析,指出了自己在处理指数情况时出现的问题,并总结了被hack的原因。 ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
author-avatar
DomeSmart
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有