实例讲解-单向列表的实现(1)
实例要求
在数据结构中,经常看到一个基本概念,对于一个链表的实现基本都是基于引用数据类型的操作。
如果要想设计一个链表,则肯定要设计一个链表的节点类。在此类中必须有一个属性可以保存下一个节点的引用地址。
根据此概念,设计一个节点类。以String为数据保存内容。
class Node{ // 定义节点类private String data ; // 保存节点内容private Node next ; // 表示保存下一个节点public Node(String data){ // 通过构造设置节点内容this.data = data ; // 设置内容 }public void setNext(Node next){this.next = next ; // 设置下一个节点 }public Node getNext(){ // 取得下一个节点return this.next ;}public String getData(){return this.data ; // 取得节点的内容 } }; public class LinkDemo01{public static void main(String args[]){Node root = new Node("火车头") ; // 定义根节点Node n1 = new Node("车厢-A") ; // 定义第一个车厢(第一个节点)Node n2 = new Node("车厢-B") ; // 定义第二个车厢(第二个节点)Node n3 = new Node("车厢-C") ; // 定义第三个车厢(第三个节点)root.setNext(n1) ; // 设置火车头的下一个节点是第一个车厢An1.setNext(n2) ; // 设置第一个车厢的下一个节点是第二个车厢n2.setNext(n3) ; // 设置第二个车厢的下一个节点是第三个车厢printNode(root) ; // 从头开始输出,因为printNode()方法用static修饰了,所以才可以直接调用, }public static void printNode(Node node){ // 输出节点System.out.print(node.getData() + "\t") ; // 输出节点的内容if(node.getNext()!=null){ // 判断此节点是否存在下一个节点printNode(node.getNext()) ; // 向下继续输出 }} };
总结:
本程序中,所有的关系都是手工添加的,如果要想程序变得有意义,则需要为其加入一个操作的封装。
实例讲解-单向列表的实现(1)相关推荐
- python创建链表实例_python数据结构链表之单向链表(实例讲解)
python数据结构链表之单向链表(实例讲解) 单向链表 单向链表也叫单链表,是链表中最简单的一种形式,它的每个节点包含两个域,一个信息域(元素域)和一个链接域.这个链接指向链表中的下一个节点,而最后 ...
- python数组赋值_对Python中列表和数组的赋值,浅拷贝和深拷贝的实例讲解
对Python中列表和数组的赋值,浅拷贝和深拷贝的实例讲解 列表赋值: >>> a = [1, 2, 3] >>> b = a >>> print ...
- 实例讲解基于 React+Redux 的前端开发流程
前言:在当下的前端界,react 和 redux 发展得如火如荼,react 在 github 的 star 数达 42000 +,超过了 jquery 的 39000+,也即将超过前几年比较火的an ...
- php脚本函数,PHP执行系统命令函数实例讲解
命令注入 命令注入(Command Injection),对一些函数的参数没有做过滤或过滤不严导致的,可以执行系统或者应用指令(CMD命令或者 bash 命令)的一种注入攻击手段. 常见的执行系统命令 ...
- ztree树封装 json实例_小白7天入门PHP Web开发 - Day 6[下](综合)个人博客实例讲解用户数据的存储...
<小白7天入门PHP Web开发>系列文章,面向单纯善良的完全不懂Web开发编程的入门速成课程,小白们如果感兴趣可以研读此系列文章,也可以连线提问.各路大神有何指教还请指点一二.希望各路大 ...
- redis序列化_实例讲解Springboot以Template方式整合Redis及序列化问题
1 简介 之前讲过如何通过Docker安装Redis,也讲了Springboot以Repository方式整合Redis,建议阅读后再看本文效果更佳: (1) Docker安装Redis并介绍漂亮的可 ...
- java商品搜索功能_利用solr实现商品的搜索功能(实例讲解)
后期补充: 为什么要用solr服务,为什么要用luncence? 问题提出:当我们访问购物网站的时候,我们可以根据我们随意所想的内容输入关键字就可以查询出相关的内容,这是怎么做到呢?这些随意的数据不可 ...
- think php a方法,PHP_ThinkPHP之A方法实例讲解,ThinkPHP的A方法用于在内部实例 - phpStudy...
ThinkPHP之A方法实例讲解 ThinkPHP的A方法用于在内部实例化控制器,其调用格式为: A('[项目://][分组/]模块','控制器层名称') 最简单的用法: $User = A('Use ...
- linux Shell(脚本)编程入门实例讲解详解
linux Shell(脚本)编程入门实例讲解详解 为什么要进行shell编程 在Linux系统中,虽然有各种各样的图形化接口工具,但是sell仍然是一个非常灵活的工具.Shell不仅仅是命令的收集, ...
最新文章
- laravel artisan
- IBASE change and save - Middleware related
- cocos2d-x3.2创建项目
- 常用Arthas命令
- 一个伟大计划终于完成了(粉丝联盟网正式上线了)
- [译]Code First基础
- HTTP Session 的工作原理以及几个思维扩展
- vue openlayer单击地图事件循环多次执行_Vue中$nextTick的理解
- “21天好习惯“第一期-2
- 84.常用的返回QuerySet对象的方法使用详解:select_related, prefetch_related
- 节税指南|人才引进能节税?速教你掌握精髓!
- Postman批量执行用例
- flink的map等常用api失效(记一次许久未写flink的坑)
- Mysql—索引③:优化篇(不仅仅是索引)
- slim android7 nexus7,新Nexus 7详细拆解:拆装不难,外壳脆弱
- 你见过哪些目瞪口呆的 Java 代码技巧?
- 微信小程序拉扯抖动问题
- 高等数学一:函数与极限二:收敛数列的保号性以及其推论的理解
- cropper 图片跨域
- gazebo仿真 - .stl模型文件转化为.dae模型文件
热门文章
- 即使达到5级自动驾驶阶段,自动驾驶“卡车”也不可能完全“无人”
- 六大“未来式”存储器,谁将脱颖而出?
- 互联网大脑进化简史,华为云EI智能体加入-2018年7月新版
- 消费机器人今年爆发!四大品类瓜分百亿蛋糕
- 为何学习新知识这么难?因为大脑可能比你想象中更死板
- GIS最新热点以及未来发展热门
- 代码恒久远,GitHub 永流传!
- 105、Replicated Mode VS Global Mode (Swarm12)
- Windows和Linux系统下,虚拟环境安装的全面说明和详细步骤
- Windows Server 2012正式版RDS系列⑤