首页 > TAG信息列表 > linked-list

如何在两个进程之间共享链表?

我有两个过程,我想在它们之间共享一个链表.其中一个 进程将只读取列表,而其他进程将修改列表(添加/删除条目).你能告诉我如何实现吗? 让我为其添加更多详细信息,语言是C,平台是Linux.似乎共享内存是一种方法,但我不知道如何实现它. 如果任何人都可以告诉我实现该目标的方法,那么它将

在Linux编程中通过管道在进程之间发送链表结构的最佳方法是什么

我尝试在来自同一父级的子进程之间发送链接列表. Child1需要在列表中找到第一个素数并将其及其倍数删除,然后发送给Child2. Child2执行相同的操作并将其发送给Child3,ChildN执行相同的操作并将其发送给Child1.但是,我尝试在之间而不是所有数字之间发送地址数据,但这是一种正确的方

java-相对排序-insertBefore()和insertAfter()方法

我需要对列表进行排序,其中谁的项目是对象,这些对象描述了应如何相对于同一列表中的其他项目对项目进行排序.这些项目是动态加载的,因此我无法确保它们从一开始就被订购. 我应该看什么清单? ArrayList没有像insertBefore()或insertAfter()这样的方法. LinkedLists可能会但我不确定Li

java-如何使用ListIterator在LinkedList的中间插入元素

我想创建一个空的LinkedList并使用ListIterator,通过始终将Integers插入列表中来将它们添加到列表中.如何最有效地做到这一点. 谢谢解决方法:将元素插入索引处的LinkedList本质上效率低下.如果必须在索引处插入,请使用ArrayList或其他名称代替LinkedList. 但是,如果您需要有关使用L

java-克隆单链列表

我有一个单链表.除了普通的“ Next”指针外,每个节点中还有一个指针(random ptr)指向列表中的某个随机节点.如何创建此类列表的副本? (小于O(n ^ 2)). 使用Java有什么建议或解决方案吗?解决方法:这是O(n)时间和O(1)空间的答案. (具有哈希表或关联映射的解决方案需要O(n)空间).shg的链

java-巨大的LinkedList导致GC开销限制,还有其他解决方案吗?

这是我的代码: public void mapTrace(String Path) throws FileNotFoundException, IOException { FileReader arq = new FileReader(new File(Path)); BufferedReader leitor = new BufferedReader(arq, 41943040); Integer page; String std; Integer posit

java-封装在链表中的工作方式

说我有两个类ListNode和List. public class List{ private ListNode head; public List(){head = null;} public void insertFront (int obj) { head = new ListNode(obj, head); } // other methods to be declared public boolean isEmpty(

在Java中删除节点

当我们在Java中删除节点时,我们只需 n.data=n.next.data; n.next=n.next.next; (删除节点n.next). 这是否完成了删除的目的,还是我们有某种方法可以删除已删除的节点(例如C中的free(n.next))?解决方法:本身不能使用Java删除对象.您只能通过删除对其实例的所有引用来标记有资格进行

java-使用链表实现优先级队列

我已经使用链表实现了优先级队列.在此优先级队列中,最小的int值具有最大值,因此,通过调用remove方法,将删除最小的方法. 节点类的代码 public class Node { public int iData; public Node next; public Node(int x) { iData = x; } public void d

此Java代码如何工作?从未排序的链接列表中删除重复项

我有一个LinkedList节点类: public static class Node { int value; Node next; Node(int value){ this.value = value; this.next = null; } } 和删除重复项方法: public static void deleteDups(Node n) { Hashtable<Integer, Boolean> ta

java-从链接列表末尾删除Kth节点的内存有效方法

这是几个已知解决方案的一个已知问题,但是我目前的努力是尝试考虑内存使用情况(而不是时间复杂性),找到解决问题的最有效方法. 问题:给定一个未知大小(但可能很大)的单链接列表,请从列表末尾删除第K个成员. 0< = K< N. 如果K为0,则删除列表的最后一个节点.如果K = N-1,则删除列表中

C#-应该使用:数组与链表?

我计划在不使用Queue< T>的情况下实现有界队列.类.在阅读了Arrays和LinkedList T的优缺点之后,我更倾向于使用Array来实现队列功能.集合将为固定大小.我只想从队列中添加和删除项目. 就像是 public class BoundedQueue<T> { private T[] queue; int queueSize; public B

遍历列表以将字符添加到Java中的字符串列表中

我正在尝试创建一种返回字符串的链表的方法.有一棵树,树中的每个节点都存储一个字符.该方法应该找到通过树的所有可能路径.每个路径都会创建一个字符串,并将其添加到列表中. 在第二个for循环中似乎有一个我无法解决的问题.该方法仅返回在第一个if语句中添加的字符. 每个节点都包含

java-链​​接列表堆栈丢失最后一个压入堆栈的项目

我正在开发堆栈的链表,并且似乎只有一个错误就可以满足我的需要.我正在插入3个字符串,但是在弹出第3个字符串之前,我得到了NullPointerException. 在运行调试时,我发现此缺失值已从列表中“弹出”,但似乎没有计入……这意味着它已从堆栈中丢失,未打印到控制台,并且该列表在以下位置

Java-不更新JTable

我发现了带有更新数据的示例,但是它使用了DefaultTableModel.当我创建自己的TableModel和数据类时,将数据添加到JTable中不会更新. 如何将侦听器添加到TableModel? 这是我的代码: package by; import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.util.L

java-Iterable接口中的forEach和spliterator是什么,以及如何使用链表实现

我有一个实质上是链表的数据结构,这意味着它的节点包含指向下一个节点的数据. 我研究了在此类上使用for循环促进迭代的过程,发现必须实现Iterable接口.但是,我对如何实现forEach()和spliterator()以及每种方法的功能感到困惑.解决方法:您不必实现spliterator()和forEach()方法.这些

带有两个迭代器的python一次递增1

我是python的新手. 我尝试在python中实现诸如归类排序之类的操作.我使用https://pythonhosted.org/llist/#sllist-objects的单链列表.要合并两个排序的列表,我需要使用迭代器遍历两个列表.伪代码如下所示: n3 = sllist() for n1 in list1 and n2 in list2: if (n1 > n2):

c#-使用链接列表实现队列-创建链接列表,但在打印后停止工作

这是我到目前为止所拥有的.我已经生成了一个链表,但是当程序打印出链表时,会弹出一个对话框,说我的程序已停止工作.我正在使用Visual Studio.我需要使用链表实现队列.我可以创建它并打印出来,但是当它打印出来时,程序停止了.我已经尝试了所有方法,但似乎无法解决此错误.当我尝试在

java-试图调用类的LinkedLists

我对链表非常陌生,但是目前我有一个对象链表,并且迷失了如何使用链表中的一个对象调用另一个方法. public Store() { products.add(new Product("Whiteboard Marker", 85, 1.50)); products.add(new Product("Whiteboard Eraser", 45, 5.00)); products.add(new Produ

java-将链表的头移到尾

我需要用Java编写一个将链表中的第一个元素移动到最后位置的方法. 为此,我相信我必须设置一个节点以引用head之后的第一个元素,然后将下一个节点设置为null.我尝试使用我的方法执行此操作,但是在运行该方法时,输出不正确. 我剩下的课程中的其余部分很可能太大而无法在此处发布,但是

c-如何在链表中连续删除两项

void delete_double (LN<T>*& l) { if (l == nullptr) return; LN<T> *p = l; while ( p -> next != nullptr && p -> next -> next != nullptr) { if (p -> value == p -> next -> value) // th

c-删除指针时出现分段错误(内核已转储)

我正在尝试从链接列表中删除重复项,并且遇到了一个问题,该问题可能很明显而且很直接,但是我已经很多年没有使用C了,因此我无法通过阅读类似的问题来找出我做错了什么. 以下是我的代码的一部分.我删除了不相关的部分(例如,构造函数,其他方法等). template<class T> class Node {

java-在恒定时间内将节点插入链表?

我正在做一个作业,告诉我假设我有一个带有标题和尾部节点的单链接列表.它要我在位置p之前插入项目y.有人可以查看我的代码并告诉我我是否走对了吗?如果没有,您能为我提供任何提示或指示(无双关语)吗? tmp = new Node(); tmp.element = p.element; tmp.next = p.next; p.element = y;

如何在Java中检查链表是否为回文?

我编写了一个代码来检查单链列表是否是回文.我做了两个步骤: 1.反转原始链表. 第2位.检查原始链表和反向链表是否具有相同的元素. public static Boolean isPalindrome(Node input){ Node reversed= reverse(input); while (input!=null){ if(inpu

排序双链表C

尝试通过遍历列表的循环来实现. 在循环中,我将头节点输入到已定义的排序函数中,然后使用strcmp来确定节点中的哪个名称应优先出现. 它不起作用,因为过早写入名称. 我通过一次向下列出一个节点,而不回头看看第一个节点是否应该在最后一个节点之前,对它们进行线性比较.解释的那部分会