|
1
43
如果你真的在构建一个真正的系统,那么是的,如果你需要的东西在标准库中可用的话,你通常只需要使用标准库中的东西。也就是说,不要认为这是毫无意义的练习。理解事物如何工作是很好的,理解链表是理解更复杂的数据结构的一个重要步骤,其中许多不存在于标准库中。 创建链表的方式与Java collections API的方式有些不同。Collections API正试图遵循更复杂的接口。Collections API链表也是一个双链表,而您正在构建一个单链表。你所做的事更适合做作业。
和你的
想想
这是一张
要附加,请检查
* 并且不会冒堆栈溢出的风险,因为我猜想,对于你的任务来说,不需要复杂程度。
|
|
2
24
你所编码的不是 LinkedList ,至少我不认识。对于此作业,您需要创建两个类:
一个
当您在
|
|
|
3
11
我为我的算法创建了这个类,我将其归类为一个垫脚石,以便在开始为赋值编写双链接队列类之前更好地理解它。 代码如下:
如果您愿意,还可以考虑实施:
老实说,只需要几行代码就可以使这个列表成为一个双链接列表。此列表与双链接列表的主要区别在于,双链接列表的节点实例需要指向列表中上一个元素的附加引用。 与递归实现相比,这样做的好处是速度更快,而且在遍历大型列表时不必担心堆栈被淹没。
如果您从未见过其中一种方法的内部原理,我建议您在调试器中逐步完成以下步骤:
虽然对于数组列表这样的列表有更好、更有效的方法,但是理解应用程序如何通过引用/指针进行遍历对于理解有多少更高级别的数据结构工作是不可或缺的。 |
|
|
4
8
提示1:阅读链接列表的说明 http://en.wikipedia.org/wiki/Linked_list 提示2:LinkedList的Java实现是一个双链表。你的是一个单链表。这些算法并不直接适用。 也:
真实的 学习
实际上有一个开放的数据类型,可以用来构建(某种)列表。但这不是你老师想要的。当然也不会被认为是 有用的 列表抽象。一个有用的抽象包括:
|
|
|
5
5
当然,一个链表对于编程n00bs来说有点混乱,很有诱惑力的是把它看作俄罗斯玩偶,因为它看起来就是这样,一个Linked List对象中的LinkedList对象。但这是一种很难想象的感觉,相反,把它当作一台电脑来看待。 LinkedList=Data+下一个成员
因此,一个由5名成员组成的LinkedList将是:
但你可以简单地认为: 数据1->数据2->数据3->数据4->数据5->空
当然,这是非常简单的代码 无限循环如果你给它一个循环链表!但这是最基本的。 |
|
|
6
4
|
|
|
7
4
具有以下功能的链表程序
它将帮助你在链接列表。 |
|
|
8
1
我是如何创建这样一个linkedlist的。这是怎么工作的? 这就是所有的链表。具有指向列表中下一项的链接的项。只要在列表的开头保留对项的引用,就可以使用对下一个值的每个后续引用遍历整个内容。
|
|
9
0
请阅读本文: How To Implement a LinkedList Class From Scratch In Java
输出
|
|
|
10
0
|
|
|
11
-1
|