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