问题标签 [circular-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 回答
36387 浏览

java - Java中的循环链表实现

这是一个任务。我必须创建一个循环链表并删除列表中的每三个数字。当我的程序到达列表的末尾时,它应该回到头部并继续该过程,直到只剩下一个数字。

我在网上和其他一些参考书上搜索过,但无法解决我的问题。我发现的大多数参考资料都说:

除了循环列表没有尽头之外,它们与常规列表完全相同

或(取自我的教科书):

如果最后一个节点的后继节点是第一个,则单链表是循环链接的

但是这些并没有告诉如何去做。我也尝试过使用我在这个网站上找到的一些代码,但这并没有解决任何问题。

我可以创建一个列表(我不知道它是否是一个循环链表)并显示它,但是元素的顺序很奇怪:

  • 如果列表有 6 个数字,则列表将为 1、6、5、4、3、2。
  • 如果列表有 8 个数字,则列表将为 1,8,7,6,5,4,3,2。

如果没有正确的列表,我可以正确地进行删除。以下代码有什么问题:


0 投票
1 回答
5926 浏览

java - 在排序的循环链表中插入数据

我想将给定的数据添加到已经排序的循环链接列表中,以便结果列表也被排序。Node已经提供了具有public int datapublic Node next作为类成员的类。

一个函数addNode(Node head)将被实现,它将一个已知的数据(9)插入到列表中。Node head是循环链表的头指针。

我考虑过以下案例

  1. 当列表为空时,创建节点,将其数据设置为 9 并将其 next 引用到自身。将新创建的节点作为头部。

  2. 当列表仅包含一项时。修改第一个节点的next指针指向新节点,新节点的next指针指向给定的头节点。使头节点指向值最低的节点。

  3. 当插入的数据最小时,即小于头节点所指向的节点的数据,插入到头节点之前。

  4. 当要在两个节点之间插入数据时。所以我正在使用while循环,它将找到将插入新数据的节点并相应地修改节点的next指针。

当我提交代码时,它以某种方式失败了一个我无法找到的测试用例。有人可以帮助我找出我的逻辑中可能忽略的条件。

下面是实现的代码:

0 投票
1 回答
4265 浏览

java - 反向单链表Java,检查是否循环

我用 Java 实现了一个单链表。我可以反转一个单链表并检查给定的列表是否是循环的。有趣的是我也可以反转一个循环列表,这很奇怪也很有趣。能够反转循环列表是否有意义?实际上它应该一遍又一遍地反转,对吗?目前,我下面的代码能够反转循环列表并终止。这是对的吗?

0 投票
1 回答
2340 浏览

java - 插入排序双循环链表

所以我试图让我的双链表做一个插入排序

我现在遇到问题,只是将节点移动到正确的位置。我已经进行了比较,但我的节点都没有移动。

我想知道是否有人可以帮助我正确使用此算法。我正在使用循环双向链表来尝试测试各种排序例程的时间复杂度。

0 投票
2 回答
1542 浏览

java - 为什么我的 java 代码不起作用?

我正在编写一些 Java 代码,这些代码应该使用循环链接列表来实现众所周知的约瑟夫斯问题。以下是有关约瑟夫斯问题的一些信息:http ://en.wikipedia.org/wiki/Josephus_problem

我有一个学生班和司机班,它们被分配给我来创建我的约瑟夫斯班。

这是学生课程: http: //pastebin.com/4YgSA7CM

这是驱动程序类: http: //pastebin.com/Nb08Dtqk

这两个类都不能修改。

我必须从头开始制作一个 Josephus 类,该类使用有效利用 Josephus 问题的循环链表。

这是我完成的 Josephus 类,没有编译器错误:

我的 startJosephus 方法是我认为的主要问题。虽然不完全确定。这是上面代码中的 startJosephus 方法:

这是我运行 Josephus 课程时正在运行的内容:http: //pastebin.com/5GnChgYd

这是应该产生的输出:http: //pastebin.com/Qr5dCZJp

此外,以下是用于生成此输出的两个输入文件:

StudentList1.txt:http ://pastebin.com/ysjevQ8u

StudentList2.txt:http ://pastebin.com/r2YeppNm

根据我得到的输出和我应该得​​到的输出,约瑟夫斯问题似乎没有开始并模拟杀戮狂欢。但是,我不知道我的代码有什么问题。我的代码不能有尾巴,因为它是一个循环链接列表。关于我在这里做错了什么的任何想法?抱歉所有 Pastebin 链接,这似乎是组织我在这里展示的所有代码的更好方法。希望听到你的想法。

这是我在解决无限循环问题后遇到的新运行时错误。有什么建议么????所有这些空指针异常是什么

0 投票
2 回答
123 浏览

java - 我的 Java 代码中出现 NullPointerException 错误。

你们有没有看到我的代码有什么问题:

这是我的完整代码: http: //pastebin.com/S0kWwFFV

这也是我的驱动程序类: http: //pastebin.com/Nb08Dtqk

我在这里得到了似乎源于此方法的 NullPointerExceptions。如果您发现我的代码有任何明显错误,请提供帮助。

0 投票
1 回答
78 浏览

java - 需要弄清楚如何处理 sparsematrix

所以我必须在循环链表的基础上创建一个稀疏矩阵......但不知道如何开始......到目前为止,我知道我必须有一个 Node 类,我将拥有类似 Node 类的东西,包括这些字段:

这是我的作业的稀疏矩阵的图像

我想我必须创建第一个节点,也就是进入,但不确定下一步是什么......

0 投票
2 回答
2445 浏览

c - 在循环双向链表中释放内存

valgrind 告诉我,我在 XX 个块中有 XX 个字节肯定丢失了记录等等

并且源代码在 malloc 中,但是,我认为这是因为我没有为 malloc 释放足够的内存。无论如何,我已经提供了我认为导致堆错误的代码。

我知道我没有释放 list_remove 中的内存,我很确定这是问题的唯一来源。它可能需要一些临时的转变,但我不知道这是否是唯一的问题。

list last 只是给出列表的最后一个节点。

编辑:我很抱歉没有提供足够的信息,Kerrek SB,alk。这是其余的代码,您可以看到 malloc 发生在 newnode 中,我可以在其中开始创建新列表。这个结构很简单,有一个值和一个上一个,下一个:

请帮忙!它仍然给我堆中的内存泄漏错误......

0 投票
3 回答
7347 浏览

reverse - 如何反转循环单链表

反转单个链表很容易,下面的代码可以正常工作。

如何反转循环单链表?我将代码调整为此

但它不起作用,我以为运行这个函数后,循环列表将是非循环的,实际上,转储它后,我发现它仍然是一个循环列表。一定是我逻辑错了,请指正。

0 投票
1 回答
150 浏览

actionscript-3 - ActionScript 3 中的 CircularList

我从事AS3项目已经有一段时间了,但我认为我已经碰壁了。我的项目需要将一系列元素排列在一个Circular List中,所以我将自己复制到Circular List我之前在 C# 中完成的一个中。

问题是,这严重依赖于Generics的使用。现在我没有这些。

这是代码。T变量类型代表我希望存在的泛型。

节点.as:

循环列表.as:

有没有办法让这个东西在没有泛型的情况下工作?

编辑:真正的问题是我希望 Node 类中的NodeContent是一个对象。基本上,我想列出坐在圆桌上的人,但我想要一个我可以重用的代码,而不是专门为这个问题制作的代码