问题标签 [singly-linked-list]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1362 浏览

java - 实现具有 3 个字符串值的链表

我正在尝试实现一个单链表以在每个元素(名字、中间名、姓氏)中保存多个字符串值,以便我可以按排序并搜索元素中的不同字符串(按姓氏排序,搜索中间名, ETC。)。

我创建了一个 Name 类来保存 3 个字符串(第一个、中间、最后一个)和每个字符串的观察者方法。

有人可以帮我修改我的 MergeSort 以按姓氏排序 (Name.getLastName()) 吗?如果我能弄清楚这一点,它应该让我走上正确的轨道来创建我的按中间名搜索方法。

提前致谢!

0 投票
4 回答
6111 浏览

java - Java:单链表,虚拟节点,插入

Q1。这是在列表前面添加元素的正确方法吗?(使用虚拟头节点,但没有尾) Q2。列表是空的还是非空的都一样吗?

0 投票
5 回答
2902 浏览

java - 如何从java中的链表中删除数据

我正在 android 中创建一个演示购物车,为此我正在使用 Application 类来保存数据。我无法从链表中删除数据。我正在为 android 活动调用 removeItem() 函数以从列表中删除选定的项目,但它不起作用任何人都可以帮助我。

0 投票
2 回答
165 浏览

java - 如何在方法中重新分配引用?

我有一个使用“ListNode”类对象的链接列表

ListNode 具有以下非静态方法:

它的构造函数接受一个值和一个下一个。

在我的驱动程序类的主要方法中,创建我的链表:

我有一个方法叫printList(ListNode ln).

我在我的主要方法中连续调用它两次,如下所示:

我的方法如下所示:

在我的方法中,每次在 while 循环中将引用更改为指向不同的对象。所以在我退出方法后,引用“head”应该指向一个空值,对吧?但是,当第二次调用 printList(head) 时,它会神奇地打印列表中的所有元素!

这是 jGrasp 控制台显示的内容:

这是我的老师告诉我使用的 listnode 类:

0 投票
2 回答
2306 浏览

c - 在 C 中反转单链表

可能重复:
如何仅使用两个指针来反转单链表?

这是反转链表的 C 代码。但这并没有产生所需的输出。

我错过了什么?

0 投票
2 回答
11660 浏览

java - 将节点插入链表中间,并意外插入空节点

我正在开发一个不使用 Java 内置 Linked List 类的程序;我正在从头开始构建它。除了编写将节点插入到链表的特定位置的方法之外,我在所有方面都取得了成功。

我有一个将特定节点设置为“当前”节点的方法。因此,例如,我有一个看起来像这样的链表:cats --> dogs --> make --> good --> pets,并且“current”等于 2;这意味着“当前”节点是“狗”。

从这里开始,假设我想在“当前”的位置插入一个新节点,其信息字段为and。如果操作正确,最终的链表将是:cats --> and --> dogs --> make --> good --> pets;“and”将替换位置 2 的“dogs”。

所以这是我的问题:我的方法可以在位置二插入一个新节点,但是将新创建的节点链接到预先存在的节点时出现了问题。我不仅将我的新节点插入到列表中,而且还在“dogs”之前插入了一个没有信息的节点。当我的代码当前运行时,输出如下所示:cats --> and --> (blank) --> dogs --> make --> good --> pets

我 99.9% 确定问题出在代码的(如果当前!= null)部分,我只是不知道如何解决它。

除了我实际要添加的节点之外,我为什么还要插入一个空白节点?

编辑

整个程序很长,但这里有一个“setLine”方法,它将当前设置为用户希望插入节点的任何位置。它采用通过用户提示获得的参数“int line”。

0 投票
3 回答
6290 浏览

c - 在c中添加到链表的末尾

我正在尝试编写一个程序来创建带有链表的一副卡片。我的插入功能需要将输入的卡号及其花色添加到列表的末尾。我创建的代码已经给了我一个分段错误。

0 投票
2 回答
2051 浏览

java - 如何在java中按字母顺序将节点添加到单链表?

这是我的中级 Java 课程的作业问题。我应该使用链接列表而不使用内置的添加方法来制作“字典”。我无法让它按字母顺序添加节点。我只是将每个节点附加或附加到列表中没有问题,但这不是问题所要求的。该程序应该能够按字母升序和降序(两个单独的 JOptionPane 菜单选项)显示单词列表(及其含义)。它的证明......困难。这是我的添加方法:

我确实知道 while 循环下的 if 语句有问题。我只是不知道是什么。我还不够好,还不知道出了什么问题(笑)。我想知道我是否应该先正常附加它们,然后按字母顺序对其进行排序。如果是这样,那我该怎么做?请温柔一点。;)

0 投票
1 回答
1962 浏览

c# - 加号时如何处理结转?

我正在编写一段 C# 代码,该代码添加存储在单链表中的数字。我创建了一个包含 11 11 8 的缓冲区单链表。最终列表必须看起来像 1 2 9 。每个大于 10 的元素都必须将结转传递到下一个数字,并且 %10 的结果将传递到将创建 1 2 9 的最终列表。如何处理从每个数字开始的结转从左到右?

我创建了以下逻辑,但显然我忽略了一些东西。

0 投票
3 回答
2333 浏览

c# - 如何获取单链表中元素的索引?

我有两节课:

方法的 SLList(私有 SLElement _root)

SLElement 用于为列表创建新元素。(公共 int _value;公共 SLElement _next)

我已经完成了添加方法:

所以现在我想要一个删除功能。我已经让它工作了,它删除了一个具有特定值的元素,但我想要它,以便它删除一个具有特定索引的元素。如何找出列表中元素的索引?