假设读者有一定数据结构应用经验,比如写过数组,队列,链表。
计算机中,有数据结构这种概念,
(作者大胆假设)是因为
1.计算机自身特点,即底层进行数据交换时寻址等客观因素的限制,
因为存储空间分为连续的和非连续的,访问非连续空间时怎么将其联系起来,就成了
链表要解决的问题。
2.具体应用的时候节省空间时间。(假设结束)
链表的java 实现。
java中最基础的,最常见的联系是 (类)对象,与其内部的属性、方法的联系,
(类)对象可以通过方法或者直接访问的形式调取 自身的属性, 一个类的属性分为
两类,一种直接访问存储在内存!堆中的数值。 另一种 叫引用对象, 要通过 存储在内存!栈 中的对象名, 获取地址 , 才能取的 对应在内存!栈中的数据。
刚才所说的解决内存不连续的问题,估计读者也有解决方案了吧?
可以用这种 (类)对象中的特殊的属性 “引用对象” 来实现,
(实现思路)
为了形象化, 我们引用生活中 车链子 ,英语(chain), 帮助辅助记忆。
创建 节点(类)对象
class Node()
{
Object data;
Node nextnode;
}
这样就能实现一个节点 中间 还有一个 节点。
但是在实际应用中, 我们 不能 每次都在 需要存储的时候 敲
如下重复的代码
Node node1 = new Node ();
node1.data = xxx;
需要存储第二个数据的时候;
Node node2 = new Node();
node2.data = xxx;
node1.nextnode=node2;
所以, 可以搞一个 类,将这些重复性代码 都写进去, 该类名曰:链表
又根据刚才的节点的特点,有三种,出现在第一个的节点,因为有了它,就可以跟其他的节点联系起来,
如果你跟我说 我可以直接从第二个访问, 可以去试试,这里不建议把问题复杂化。
class Linked(){
Node diyige; 其实习惯命名为 root; 洋气0
public void add(Object 需要添加的数据){
Node node2 = new Node();
node2.data = (传进来的)需要添加的数据;
diyige.nextnode= node2;
} 当需要添加第二个数据的时候,哈哈 只需轻轻调用这个函数。
但是还有一点,如果命名为node2,下一个莫非要用node3?
有聪明的告诉我,没事,反正是局部变量命名,又不会重名,就这么用呗。
好吧,那么我们还可以再聪明一点,我们不用考虑节点之间的整体的联系(node1,node2,node3...),只需考虑两个节点之间的关系 即这是新添加的节点,对于第一个节点来说属于 next(newtnode)。
所以经过修改....
class Linked(){
Node root; 命名为 root; 洋气0
public void add(Object 需要添加的数据){
Node newnode= new Node();
newnode.data = (传进来的)需要添加的数据;
root.nextnode= newnode;
} 当需要添加第二个数据的时候,哈哈 只需轻轻调用这个函数。
}
其他的方法 例如访问
public void get()
{
}
等就不一一写了, 良心编码。
分享到:
相关推荐
Java 数据结构 链表 Java链表 数据结构链表
list v2 用Object对象,接口inteface,迭代器Iterator实现linklist,Arraylist
Java数据结构 线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构
java 数据结构 链表 自己写的 java 数据结构 链表 自己写的 java 数据结构 链表 自己写的
java 数据结构 遍历链表程序 有研究或探讨的请加群:37424970 或联系本人MSN或邮箱:zhuseahui@yahoo.com.cn
主要介绍了Java数据结构之链表(动力节点之Java学院整理)的相关资料,需要的朋友可以参考下
主要介绍了Java数据结构之链表、栈、队列、树的实现方法,结合实例形式分析了Java数据结构中链表、栈、队列、树的功能、定义及使用方法,需要的朋友可以参考下
这是个java编的双向链表的演示,数据结构是编程中很重要,但很难懂的一部分
数据结构-链表 JAVA语言实现,包含单向链表、双向链表、循环链表的遍历、删除和插入 详细介绍:http://blog.csdn.net/z740852294/article/details/77369439
JAVA实现链表 有序二叉树 队列的代码例子
Java语言编写的数据结构-链表实现。包括顺序表和单链表、双链表
基于java数据结构链表写的猴子选大王,其实就是一个约瑟夫环问题,采用java数据结构链表写的。有点小问题。当输入一只猴子,报数为1时删除会出错。没有实现动态显示猴子的添加和删除。
数据结构的定义 数据结构是计算机存储、组织数据的方式,用于高效地访问和修改数据。...Java提供了丰富的数据结构库,包括数组、链表、栈、队列等,这些数据结构为程序员提供了处理各种问题的工具和方法。
用java实现了数据结构中的链表,作为新手学习数据结构和java的资料。
基于Java实现数据结构链表相关程序
基于java数据结构链表实验报告.pdf
基于Java实现数据结构链表相关程序.pdf
数据结构 链表
数据结构,用Java实现链表 private class Node { private String data; private Node next; public Node(String dataPortioin) { data = dataPortioin; next = null; } public Node(String ...
主要介绍了Java数据结构之简单链表的定义与实现方法,简单描述了链接的概念、原理,并结合实例形式分析了java定义与使用链表的相关步骤与操作技巧,需要的朋友可以参考下