singly-linked-list

    -1热度

    3回答

    我目前正在尝试学习如何链接列表作为个人项目。我了解核心概念,并一直试图将其实施到c。我的程序看起来应该可以工作,请记住我仍然是编程新手:D 我创建了一个名为head的结构指针。 head将指向linked_list中的第一个节点,startPtr将包含head的地址。每次调用函数add时,都会创建一个新节点并在内存中分配一些空间,然后之前创建的节点将指向新节点。 我知道我的程序在哪里崩溃,但我可以

    2热度

    1回答

    我试图添加一个节点到我的链表的末尾,当我到达else语句时,我得到一个空指针异常并尝试将problem.rear.next设置为我添加的新节点。出于某种原因,当我尝试将rear.next指针设置为新节点时,会弹出异常。 为了澄清, 的BigIntegerList是也被链接,通过单独整数连接在一起代表一个大的整数列表节点的链接列表。大整数列表定义了一个“开始”和“后面”节点。BigInteger节点

    -3热度

    1回答

    我的代码有很多错误。 但我不知道错误的东西... 有这样的常见错误按摩,使这种“ 范围内没有声明”无效使用模板名称 “节点”没有参数列表“,”head_ptr“ ,“'tail_ptr'未在此范围内声明”, “'t'未在此范围内声明”, “模板参数1无效”,“节点'之前的预期类型说明符” 我不认为我的整体代码是错误的。 但是错误太多让我想到 所有编码的组成都是错误的。 它是所有代码的一部分。 我不

    1热度

    1回答

    我想按顺时针旋转我的链接列表。 private class Node { private T data; // Entry in bag private Node next; // link to next node private Node(T dataPortion) { this(dataPortion, null); } // end

    3热度

    3回答

    链表: pointer2 -> [a] pointer ->[a] -> [b] -> [c] -> [d] -> null pointer = b; //makes it point one down so it will be pointer -> [b] ->[c] -> [d] -> null pointer = pointer 2; //makes pointer point

    0热度

    1回答

    我有这种方法给我一个分段错误,我无法弄清楚。我们必须删除与给定名称相匹配的节点。 typedef struct node { int id; char* name; struct node* next; } node; node* rem_inorder(node** head, char* key_name) { node* temp = *head; int found

    0热度

    1回答

    我写了一个程序,它的工作原理,但我不认为它应该。有人可以解释为什么它的作品? 我有一个单独的链接列表。这是一个项目,所以我不能发表直接的代码,但不适改变问题有点 比方说我的链表是数字1,2,3,4,4名单,5 我需要扫描列表并删除任何重复项,所以我需要删除其中的一个。我需要通过递归来完成。 我写的函数有它的参数/参数作为指针到列表的开始,我要给这个指针 //Base cases up here

    1热度

    2回答

    我被告知,这将无法正确地将节点添加到列表中,但我已经测试它,它似乎工作。任何人都可以让我知道这段代码中的错误吗? struct node { int num; struct node* next; }; void add_first(struct node* head, struct node* new_node) { new_node->next = head

    1热度

    1回答

    我正在学习单个链接列表堆栈,我遇到了这个stackoverflow页面,它给了我一些关于如何弹出节点的参考: Pop function on Linked list stack 第一个答案使用以下代码来弹出,一个节点: struct Node { int data; Node *next; }; int pop(Node *head) { while(hea

    0热度

    1回答

    我使用了一个函数来将新节点插入到我的单链表中,但是当我插入后打印出节点内的所有值时,我只能得到第一节点: // Make list createList(head, 17); // Insert to list for (int x = 9; x > 0; x /= 3) { if (!insertToList(head, x)) { fprintf(st