linked-list相关内容

传递结构的字段名称以在函数内部访问

我有一个链表,我做了一个函数来获取一个节点.但我想同时使用它来按名字或姓氏进行搜索. typedef struct people {字符名称[60],姓氏[60];struct people *next;} 人们;人*搜索(常量字符*键,人*列表,字段){while (list && strcmp(key, list->FIELD) != 0) {list = list->next;}退货清单; ..
发布时间:2022-01-01 18:50:02 其他开发

C 链表销毁函数

我正在尝试学习 C,和很多人一样,我对指针有点卡住了.无论如何,我做了一个递归函数来破坏我的链表,但正如我调试的那样,当我从函数中返回时,列表的头部并不像它应该的那样为空,所以我猜这是对指针的一些基本误解.这是函数: void destroy(struct node *n) {如果(!n)返回;销毁(n->下一个);免费(n);n = NULL;} 解决方案 void deleteList( ..
发布时间:2022-01-01 18:49:52 其他开发

C、打印字符串链表

我必须编写一个使用链表的 C 程序.我创建了一个列表并将元素添加到列表中.但我不知道如何打印列表中的所有元素.该列表是一个字符串列表.我想我会以某种方式递增列表,打印那里的每个字符串,但我想不出办法做到这一点. 简短:如何打印链表? 解决方案 没有愚蠢的问题1.下面是一些帮助您入门的伪代码: def printAll(节点):而节点不为空:打印节点->有效载荷节点=节点->下一个打 ..
发布时间:2022-01-01 18:49:43 其他开发

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

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

C中链表的链表

我正在做一个项目,想知道是否可以创建一个链表的链表.我想在 C 中创建一个新类型 person,其中每个 person 都可以有 kids.kids是一个人的列表,每个人都有父母,他们也是人em>s.所以我正在考虑使用结构和链表来做到这一点. #include 结构人{无符号整数 ID;//身份,每个人都是独一无二的字符*名称;结构人**父亲;struct person **mother;str ..
发布时间:2022-01-01 18:49:02 其他开发

两个指针变量可以指向同一个内存地址吗?

如果 p 和 temp 是两个指针变量,其中 p 包含 NULL 和 temp指向某个内存地址. 现在假设 p = temp; 这意味着现在 p 指向与 temp 指向的地址相同的地址. 这是否意味着两个指针变量 p 和 temp 现在指向同一个内存地址? 解决方案 是的,两个指针变量可以指向同一个对象: 指针是变量,其值为 C 对象的地址或空指针. 多个指针 ..
发布时间:2022-01-01 18:48:56 其他开发

Java:删除链表中的所有元素

在Java中,如何使用已有的clear()方法删除链表中的所有元素?本练习的灵感来自电话采访中收到的一个问题. 说我可以在 C 中做到这一点 void DeleteAllElement( ListElement **head ) {ListElement *deleteMe = *head;而(删除我){ListElement *next = deleteMe->next;删除删除我;删除 ..
发布时间:2022-01-01 18:48:46 Java开发

链表、数组和硬件内存缓存

虽然之前有人问过关于链表与数组的问题,但答案主要归结为我们大多数人在某个时候可能已经学到的东西: 列表擅长插入和删除 数组擅长随机访问 现在像 Bjarne Stroustrup 这样受人尊敬的人已经认为阵列实际上总是优于链接列表,因为它们更好地利用了现代硬件中实现的缓存架构.他还指出,数组的性能优势会随着它们的大小而增加. 虽然我基本理解他的论点并同意他的观点,但我想知道当数 ..

将二分查找展平为单向链表 [C]

我正在尝试将二叉搜索树展平为单向链表. 二叉搜索树: 6/\4 8/\ \1 5 11/10 扁平单向链表: 1 ->4 ->5 ->6 ->8 ->10 ->11 由于某种原因,我似乎无法弄清楚这一点. 我有一个树节点的结构: typedef 结构节点 {整数键;结构节点 *left;结构节点*右;节点; 我有一个函数来为树节点创建和分配内存: Node* newNo ..
发布时间:2022-01-01 18:48:28 其他开发

添加到链表的前面

我对如何添加到链表的前面感到困惑. /*** 数据被添加到列表的前面* @修改这个* @ffects 2-->4-->6 变成数据-->2-->4-->6*/公共无效插入(E数据){如果(前面==空)前 = 新节点(数据,空);别的 {Node temp = new Node(data, front);前 = 温度;}} 这就形成了一个循环.我如何避免这种情况? 我有一个 LinkedL ..
发布时间:2022-01-01 18:48:18 Java开发

Javascript 中的链表与数组

所以我在 JS 中玩弄链表并提出以下问题: 假设我们有一个数组和一个链表,它们都有 5000 个元素.我们想在索引 10 处插入新元素.数组方式非常简单.我们在给定的索引处插入新元素,并将其余元素向前移动一个索引.所以我尝试用链表来做这件事,最后得到以下内容: 从Nicholas Zakas 并添加额外的方法 addOnPosition(data,index).最后是代码: func ..
发布时间:2022-01-01 18:48:10 前端开发

不同类型的链表!

常用的链表有哪些不同类型? 我知道并使用过以下内容: 单向链表 双向链表 循环列表 您使用过或知道的其他类型的列表有哪些? 解决方案 展开的链表 在计算机编程中,展开的链表是链表的一种变体,它在每个节点中存储多个元素.它可以显着提高缓存性能,同时减少与存储列表元数据(如引用)相关的内存开销.它与B树有关.- 维基百科 异或链表 异或链表是一种数据结构 ..
发布时间:2022-01-01 18:48:00 其他开发

在 hashmap 中,向桶的内部链表添加新元素总是在最后.为什么?

在哈希图中,当我们有相同的哈希码时,我们将对象作为链接列表插入,然后将其转换为 TreeNode.每个具有相同哈希码的新对象都被添加到所附链表的最后一个.所以,我的问题是为什么我们不添加新元素作为附加到存储桶的内部链表的第一个元素?为什么要遍历到最后一个元素,然后再添加新元素. 链接列表花费的时间: 在开始处插入新元素 = O(1) 在末尾插入新元素 = O(n) 一个可能 ..
发布时间:2022-01-01 18:47:50 Java开发

在 Java 中声明一个 LinkedList

我总是知道当我们声明一个我们应该做的集合时,Interface ob = new Class(),如果我想使用例如一个LinkedList,我会做List ob = newLinkedList(),但随后我无法访问 LinkedList 中的所有方法.LinkedList ob = new LinkedList() 不是 100% 正确吗? 解决方案 LinkedList ob = n ..
发布时间:2022-01-01 18:47:44 Java开发

为什么 Scala 的 `Lists` 实现为链表

我一直认为链表的好处是你可以添加或删除项目(尤其不是从末尾),而无需复制大量元素,这要归功于指针的美妙. 然而,Scala 的 List 是不可变的(至少在默认情况下).拥有不可变链表有什么好处(因为有一定的缺点,例如不是 O(1) 元素访问.) 谢谢! 解决方案 我认为主要原因是链表最强大的用途之一是头/尾拆分.有很多递归算法看起来像这样: def listlen[A](x ..
发布时间:2022-01-01 18:47:37 其他开发

c链表中的冒泡排序

我需要做的是将一个输入文件读入一个链表.文件的一部分是: 姓名A,25 姓名 B, 33 名称C, 23 姓名 D, 39 然后我需要按数字排序(冒泡排序)并将其写入另一个文件. 这是我所拥有的: #include #include #include 结构节点{字符名称[20];整数;结构节点*下一个;结构节点 *prev;}*头;int main(void) {结构节 ..
发布时间:2022-01-01 18:47:28 其他开发

从单个链表中提取中间元素

我有一个问题: 从单个链表中查找中间元素. 我需要知道这个问题的方式/方法. 解决方案 您可以使用两个指针遍历列表 - 一个指针的迭代速度是另一个指针的两倍.当快指针到达链表末尾时,慢指针将指向中点. 算法: init slow_pointer = head初始化 fast_pointer = 头重复fast_pointer = fast_pointer->next;如 ..
发布时间:2022-01-01 18:47:16 其他开发