singly-linked-list相关内容

链表无法插入

我已经写了一个链表代码来在节点中插入一个元素.但是问题是当我想使用功能插入第一个元素时,输出为空.但是,当我在主函数中插入第一个元素时(请参见注释行),它会提供正确的输出.怎么解决呢?这是我的C代码: #include#includetypedef结构节点{内部值;struct节点* next;}节点;无效打印(节点* head){if(tem == N ..
发布时间:2021-05-29 21:18:34 其他开发

实现算法以查找单链列表的第k个元素

实施一种算法来查找单链列表的第k个元素. 对于上述问题,将链接列表反转然后再次遍历并获取第k个元素,是否是一个很好的解决方案? 解决方案 首先,列表是单链接.因此,这是一个很好的提示,您不应尝试撤消它,因为制作副本需要大量的存储空间. 您可以使用龟兔算法的修改版本: 在列表的开头使用 hare 指针 将其至少移出 K 个元素 如果您之前点击了 last 元素,那么您将 ..
发布时间:2021-05-29 21:17:24 其他开发

C-嵌套的链表

我正在尝试创建一个学生的链接列表,每个学生都有一个链接的成绩列表,但是我在访问学生的链接列表中访问成绩的链接列表时遇到了麻烦. typedef struct student_data_struct {char char [MAX];struct grades_list_struct * gradeP;} student_Data;typedef struct student_list_stru ..
发布时间:2021-05-29 21:16:30 其他开发

在Rust的单个链接列表中实现.pop()的更好方法是什么?

我已经在Rust中实现了自己的单链接列表版本,这是我学习它的挑战之一,除了.pop()方法之外,我对自己拥有的所有内容都感到满意.使用2个while循环非常丑陋且效率低下,但是我发现没有其他方法可以克服将索引为len()的节点设置为2(无)(弹出列表)并使用索引处的节点的数据的问题.len()-1(表示Some(data)返回值)(返回弹出的元素). GitHub链接 pub struc ..
发布时间:2021-05-29 21:16:05 其他开发

如何在python中创建链接列表

我正在尝试解决python中的链表编码挑战.而且我只给了以下课程来创建链接列表 #单链列表的定义.类 ListNode(对象):def __init __(self,x):self.val = xself.next = 无 我可以创建一个类似这样的链接列表 x = ListNode(1)x.next = ListNode(4)x.next.next = ListNode(5) 但是, ..
发布时间:2021-05-29 21:14:40 Python

了解链接列表引用

我一直在努力理解链表,并且已经阅读了很多关于链表的文章(教程/文章等),但是无法完全理解它.我正在尝试解决 leetcode问题.这是问题陈述: 给出排序的链表的标题,删除所有重复项,使每个元素仅出现一次.返回排序后的链表. 在下面的特定示例解决方案中, var current 只是对头中一个或多个节点的引用吗? /***单链列表的定义.*函数ListNode(val,next){* ..
发布时间:2021-05-29 21:13:46 前端开发

按顺序遍历单个链表

我一直在尝试一种遍历单个链表的方法. 这是我目前所做的: #includetypedef struct节点{整数数据;//将存储信息节点* next;//对下一个节点的引用};int printList(node * traverse){if(traverse-> next == NULL){返回-1;}traverse = traverse-> next;prin ..
发布时间:2021-05-29 21:13:35 C/C++开发

从单链列表中删除节点的错误是“无法移出借用的内容".

我正在制作一个单链接列表.删除节点时,前一个节点的 next 应该成为当前节点的 next ( prev-> next = curr-> next; ),如果索引匹配,则返回 data .否则,前一个节点将成为当前节点,而当前节点将成为下一个节点( prev = curr; curr = curr-> next; ): struct节点{数据:T,下一个:Option ..
发布时间:2021-05-29 21:13:34 其他开发

在 C 中通过双指针访问结构元素

我正在使用结构实现链表.我有一个结构- typedef struct llist节点;typedef节点* nodeptr;结构列表{整数数据;下一个;}; 现在可以说我声明了一个变量 nodeptr * ptr; .如何使用 ptr 访问成员 data 和 next ? 解决方案 您先引用第一个指针,然后再引用第二个指针. 要访问数据,请在结构语句中访问 (* ptr)- ..

Node * head和Node ** head有什么区别?

我正在编写一个C代码来找到链表的中间部分.我了解逻辑,但无法弄清楚如何使用指针. Node * head 和 Node ** head_ref 的工作方式有什么区别? void middle(struct Node * head);无效推(struct Node ** head_ref,int new_data); 解决方案 在第一个函数头中, * head 是指向分配在内存中某个地方的 ..
发布时间:2021-05-29 21:12:06 其他开发

Python中是否有一个链接列表预定义库?

我知道在c ++中它已经存在#include现在,我很想知道它是否也存在于python中. 解决方案 您还可以查看 llist python软件包,该软件包提供了 deque 不提供的一些有用功能.该程序包中不仅有双链表,而且还有单链表数据结构.恕我直言,此程序包的最大优点之一是能够存储对llist元素的引用. ..
发布时间:2021-05-29 21:11:30 Python

在C中找到列表的基数

我怎样才能只找到出现在列表中一次的元素并返回基数?例如,如果我的列表由{3,2,1,1,2,4}组成,我希望返回计数器为4而不是6,因为我们不计算重复的数字.这是我到目前为止编写的代码. struct节点{整数数据;struct Node * next;};int Find_cardinal(结构节点*开始){结构节点* ptr1,* ptr2ptr1 =开始;int计数器= 0;/*一一挑选 ..

链表删除节点,简单链表

我正在尝试实现从链接列表中删除节点的功能.到目前为止,我只可以删除list(3)的第一个节点. 我试图从delete转到for循环,我认为内存分配不正确,我已经苦苦挣扎了几天,我听不懂,请帮我一下,这是我收到的主题从大学. #include#includetypedef struct nod{整数键;struct nod * urm;} NOD; ..
发布时间:2021-05-29 21:11:00 其他开发

什么是链表中的node,node.next和node.next.next?

我只是对node感到好奇.node.next和node.next.到目前为止,我们已经了解到该节点有两个部分,其中存储下一个节点的数据和地址(node.next),然后是node.next.next.?node.next.next地址的存储位置.我刚刚实现了node.next.next来从列表末尾删除一个数字.它运作良好.屁股我不知道关于node.next.next吗?请帮助我理解节点的概念.这是 ..
发布时间:2021-05-18 20:37:33 Java开发

删除链表中的节点

我陷入了这个特殊的功能,该功能从链接列表中释放了所有偶数节点.我已经找到了如何从链表中释放所有节点的方法,但是我无法弄清楚.我发布的代码是非常错误的.我不明白的是如何使用节点* temp变量并将其链接到head-> next节点,因为head是释放的对象(因为它是偶数).另外,在while循环结束时,我知道需要增加到列表中的下一个节点,但是我似乎已经在第一个if语句中进行了此操作,因此不会调用cu ..
发布时间:2021-05-09 19:29:53 其他开发

如何从函数返回链表?为什么当我退还给我一个地址时?

在您阅读本文之前,我是c ++的新手,感谢您的任何反馈,请不要苛刻:( 所以基本上我是在双向链表中添加元素,而在下面的功能中,我的目的是将其元素添加到单链链表中并返回它,但是我只是返回了指向链表的指针./p> 我只是停留在这个小问题上, 当我返回它时,它给了我一个地址,我在函数中做错了什么,我只能将手指放在上面,其余的代码也可以正常工作.我希望我正确地提出了我的问题,以其他方式询问我 ..

与虚拟头java的链表

我正在尝试使用虚拟磁头从单链列表中删除数据元素.该列表可以包含空数据元素,多数民众赞成在我卡住的部分.传入的数据为对象类型.这就是我到目前为止所得到的 public boolean remove(Object o){ListNode prev = this.head,cur = this.head.next;if(大小== 0)返回false;while(!cur.data.equals(o) ..
发布时间:2021-04-29 18:53:50 Java开发

交换链表中的节点

我试图制作用于交换链表中节点的函数(swapNodes).在这里,我存储了要交换的节点的上一个和下一个地址.但是我的代码陷入了无限循环. 可以将此代码制作为可工作的代码,还是错误的方法? #include#include结构节点{整数数据;struct Node * next;};无效推送(结构节点** head_ref,int new_data) ..
发布时间:2021-04-29 18:53:40 其他开发