问题标签 [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 投票
2 回答
387 浏览

c++ - splice_after 实现 forward_list

其中forward_list有一个函数splice_after供参考),具体来说,给出的链接中的函数#3。list考虑到单个链接,将如何实施。

作为一个练习,当我实现它时,我必须迭代列表直到我到达之前的节点first(以便我可以连接firstlast),然后再次直到我到达之前的节点last(以便我可以将当​​前列表的节点连接到节点之前last)。这对我来说似乎效率不高,并且想知道是否有更好的方法可以在没有迭代的情况下做到这一点?

0 投票
2 回答
3644 浏览

c - bubble sort linked list, swapping pointers. C

I'm trying to swap two pointers of a singly linked list using the bubble sort. I've made the compare function, and its working good. In the swap function, the swap is working good, I've managed to swap between the node and the node->next, though the linked list "lose" the info of the node (after the swap), so the first node in the linked list is node->next. I'm using a generic function which do the bubble sort and call the compare function and the swap function.

Any idea why this happens?

0 投票
4 回答
290 浏览

c - C中的链表,列表构造是否正确?

我正在尝试实现一个链表抽象,但是我遇到了问题。一旦我创建了链接列表并向其中添加元素。当我打印列表时,它仅以无限循环方式打印其中的第一个元素,这意味着第一个元素链接到自身或打印函数不正确。但是,我找不到问题,有人可以帮忙吗?

以下是列表抽象:

程序必须遵循这种抽象,因为它是更大事物的一部分。以下是应该打印列表并将节点添加到列表开头的函数:

谢谢你

0 投票
4 回答
215 浏览

c++ - 简单的单链表复杂度查询

我们知道在单链表上查找是 O(n) 给定一个头指针。假设我始终在链表的一半处维护一个指针。我会改善任何查找时间吗?

0 投票
3 回答
1152 浏览

c++ - Bool 函数始终为真 & 单链表中的尾节点删除创建无限循环

好的,这是我在单链表上的训练,作为一个新手......但是,我必须在某个地方搞砸了。我的代码非常简单,包含您期望的所有典型过程。

问题:

即使我输入不在列表中的数字,我的布尔函数也始终为真

这是我的代码,同时查看 main 函数以了解事情发生的顺序。哦,谢谢你的帮助!!:)

0 投票
12 回答
17718 浏览

java - 如何反转链表?

考虑:

它究竟是如何颠倒列表的?

我知道它首先将第二个节点设置为forward. 然后它说current.next等于一个null节点previous。然后它说previous是现在current。最后current变成forward?

我似乎无法理解这一点以及它是如何逆转的。有人可以解释一下这是如何工作的吗?

0 投票
1 回答
138 浏览

singly-linked-list - 如何检查两个链表之间的共同值?

我想找出出现在 List 1 和 List 2 中的共同值,并将条目保存在 List4 中。虽然这看起来很简单,但我仍然觉得我的代码太长了,想知道是否有更有效的方法来解决这个问题?

0 投票
5 回答
1658 浏览

singly-linked-list - 如果我们只知道最后一个节点的地址,我们可以删除单链表的最后一个节点吗

// 变量

// 全局变量(虽然不是必需的)。

// 职能

// 添加新节点到链表的函数

// main() 函数

如果我只有一个指向节点的指针,其值为 3(上述代码中看到的最后一个节点),我们可以删除它并让一个值为 2 的节点(上述代码)作为最后一个节点。

0 投票
2 回答
1655 浏览

c++ - 用于有序插入的while循环解析链表的条件语句中的C ++分段错误

这是一个对有序链表进行有序插入的类分配。我已经避免访问空指针,并且我添加了一些调试输出行以将 seg 错误缩小到 while 循环本身的条件语句。

我可以将一个节点添加到空列表中,并将具有较小键的节点添加到列表的头部,但是在将键添加到非空列表的末尾时遇到了段错误。如调试输出所示,有问题的 while 循环成功循环,直到它看到 cursor->next == NULL。那是它抛出段错误的时候。据我所知,我并没有尝试访问空指针。我真的很困惑,并会感谢任何帮助。谢谢!

我在下面的代码中指出了麻烦的行。

输出:

我也试过循环( ... cursor->next != 0 )( ... cursor->next )

0 投票
1 回答
250 浏览

c++ - 如何在 C++ 中从容器数组中输出动态数组值?

我将尝试首先解释我的情况。我有一个里面有结构的类和这个容器类的数组

对象的数组在某些函数文件中使用

我想不通的是如何处理objOfB. 有一个简单的例子,它将从开始到结束objOfB

我想在函数文件中执行这个循环,但我想不出不会返回所有的方法objOfB(它用于循环的第一部分B *temp = objOfB;)。以下是我为执行此循环而创建的方法:

它是如何工作的,它可以在循环中使用:

但是我知道这三种方法都不适合这个循环。所以我需要一些方法来返回值,另一种方法来告诉应该读取下一个值......希望不是更清楚我想要实现的目标。

如何使用方法传递结构值的容器类动态数组?