singly-linked-list相关内容

您将如何从单向链表中的尾部获取第 n 个节点(在一次遍历中)?

所以我从考试中得到了这个问题. 如何从单向链表的尾部获取第 n 个节点? 每个节点都有一个值和一个下一个(指向下一个值的指针).我们得到了这个: getNodeFromTail(Node head, int x) {} 所以我这样做的方法是通过遍历一次来找到列表的长度.然后再次获取 (length - x) 节点.所以总共有 2 次遍历. getNodeFromTail(Node ..
发布时间:2022-01-01 18:49:08 其他开发

Python 中是否有链表预定义库?

我知道在 C++ 中它已经存在#include 现在我很想知道它是否也存在于python中. 解决方案 你也可以看看llist python 包,它提供了一些 deque 没有的有用功能.该包中不仅有双向链表,还有单链表数据结构.恕我直言,这个包的最大优点之一是能够存储对 llist 元素的引用. ..
发布时间:2022-01-01 18:43:13 Python

使用 for 循环创建链表

这是我的结构 struct ListItem{整数数据;struct ListItem *next;}; 假设链表的第一个节点的数据为 0,我想编写一个 for 循环来创建一个大小为 5 的链表,但我不知道如何工作 我尝试了以下 int main(int argc, char* argv[]){struct ListItem a;a.数据=0;for (int i = 1; i 下一个 ..
发布时间:2022-01-01 18:34:27 其他开发

在 C 中查找列表的基数

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

在 C 中反转单向链表

可能的重复: 如何仅使用两个指针反转单向链表? 这是用于反转链表的 C 代码.但这并没有产生所需的输出. struct node *temp,*prev;while(head->next!=NULL){温度=上一个=头;while(temp->next->next!=NULL){temp=temp->next;上一个=上一个->下一个;}temp=temp->next;温度->下一个=上 ..
发布时间:2022-01-01 18:32:59 其他开发

如何在构建链表时保持对最后一个节点的可变引用?

我正在尝试从 Iterator 构建一个单链表,保持元素的顺序. 结构定义为: #[derive(Debug)]结构列表{列表:节点,}类型节点=选项>;#[派生(调试)]struct Link{头:T,尾部:节点,} 我想保持对列表末尾的可变引用并在迭代时扩展它.但是,我无法弄清楚如何做到这一点.(非工作)想法是: impl;列表{pub fn from_iterator(i: &m ..
发布时间:2022-01-01 18:29:36 其他开发

将第 k 个元素打印到链表中的最后一个元素的算法

我正在阅读 Cracking the Coding Interview 并做练习题,但我一直坚持这个问题: "实现一个算法来找到单个元素的第k个到最后一个元素链表." 我的递归函数没有返回任何东西,我不知道为什么.在递归函数中,我采用了 3 个参数.K 将是我们想要找出的最后一个元素的位置.Node* temp 将是头节点, int i 将保留最后一个节点的元素计数. #includ ..
发布时间:2022-01-01 18:27:35 C/C++开发

在 C 中创建一个单向链表

我正在尝试根据作业的输入文本文件创建单向链接列表.我正在尝试一次做一点,所以我知道我的代码不完整.我尝试创建头指针并只是打印出它的值,我什至无法让它工作,但我不知道为什么.我包括了结构、我的创建列表和打印列表功能.我没有包含打开的文件,因为该部分有效. typedef 结构体列表{结构列表 *next;/* 指向下一个列表节点的指针 */字符 *str;/* 指向所表示的字符串的指针 */整数计 ..
发布时间:2022-01-01 18:25:07 其他开发

为什么在单个链表中删除 O(1)?

我不太明白为什么在单个链表末尾删除会在 O(1) 时间内进行,因为 维基百科文章说. 一个链表由多个节点组成.一个节点包含某种数据,以及对下一个节点的引用.链表最后一个节点的引用为空. -------------- -------------- --------------|数据|参考 |->|数据|参考 |->... ->|数据|参考 |-------------- ---------- ..
发布时间:2022-01-01 18:18:59 其他开发

如何从java中的链表中删除对象?

我的代码有一个问题,我做了一个示例程序来显示链接列表中的 emp 详细信息,现在当我尝试删除特定条目时出现问题意味着它不起作用,我希望我做错了在我的代码中你能建议怎么做吗? import java.util.*;类 EmpDedup {整数记录;字符串 fprint;int fid;EmpDedup(int record, String fprint, int fid) {this.record ..
发布时间:2022-01-01 18:12:39 Java开发

在 JavaScript 中反转链表的策略

我刚刚解决了一个简单的面试问题:请反转单向链表. 虽然我没能及时提供有效的答案来挽救面试,但我事后想出了一个解决方案. 我的解决方案是否正确?你会如何用 Big-Oh 来分析这个?有没有更有效的方法来反转单链表? //反转链表var reverseLinkedList = 函数(链接列表){var 节点 = 链表;var 前一个 = 空;而(节点){//反向指针node.next = ..
发布时间:2022-01-01 18:11:26 前端开发

在c中递归地反转链表

当 head 作为参数发送给它时,以下代码工作正常.由于我是 C 的新手,我无法理解它是如何工作的.请帮帮我. struct node *recursiveReverseLL(struct node *list){结构节点 *revHead;if (list == NULL || list->link == NULL){退货清单;}revHead = recursiveReverseLL(lis ..
发布时间:2021-12-16 09:01:02 其他开发

交换单向链表中的节点

我正在尝试交换两个节点.例如,如果节点是 a 和 b 我正在传递指针 (a-1)->next 和 (b-1)->next 基本上是节点 a 和 b. void swap(struct stack **a,struct stack **b){结构栈 *temp1 = *a, *temp2 = *b, *temp3 = *b;*a = *b;(*b)->next = (temp1)->next;温 ..
发布时间:2021-12-13 13:26:03 其他开发

如何仅使用两个指针反转单链表?

我想知道是否存在一些逻辑来仅使用两个指针来反转单链表. 以下用于使用三个指针即p、q、r来反转单链表: 结构节点{整数数据;结构节点*链接;};无效反向(){结构节点 *p = 第一个,*q = NULL,*r;而 (p != NULL) {r = q;q = p;p=p->链接;q->链接=r;}第一个 = q;} 是否有其他替代方法可以反转链表?就时间复杂度而言,反转单链表的最佳逻辑 ..

堆栈的链表,head->next 不断变为空

//Colin James P. Naranjo//CMSC123 CD-1L//这个程序通过pop和push函数演示了postfix求值#include#include#includetypedef struct node{//对单向链表使用typedef和tagged结构的组合字符值;结构节点*下一个;}堆;字符评估(字符 a,字符 b,字符 c){int ans;if(c == '*'){a ..
发布时间:2021-08-28 18:36:16 其他开发

使用 C 将项目推入堆栈

这是我的推送函数,它接受一个堆栈和一个 int a 参数,将 int 转换为 stackNode 的一部分,并返回一个带有添加的新节点的新堆栈(StackNode 和 Stack 已经正确初始化): 栈推送(Stack stk,int data){struct StackNode *top = stk.top;struct StackNode *node;节点->数据=数据;节点->nextNo ..
发布时间:2021-06-18 20:00:36 其他开发

是否可以在不使用额外内存的情况下以 Θ(n) 时间复杂度检查单向链表是否是回文?

我刚刚参加了实习的在线面试,问题是检查单向链表是否是回文.我使用了一些内存来存储链表的数据.有人问我是否可以编写不使用额外内存的代码.我说可能需要超过 Θ(n) 即 Θ(n2). 对话过去了,最终归结为以下内容:检查单向链表是否是回文在Θ(n)时间,同时不使用额外的内存,条件是输入数据不受干扰. 我告诉这是不可能的,但我被告知它实际上是并且我应该在互联网上查找.但在我看到的所有算法中,至少 ..
发布时间:2021-06-13 19:59:15 其他开发