【发布时间】:2020-03-07 18:58:30
【问题描述】:
我的副专业讲座有一些问题。
首先,抱歉英语不好。
不管怎样,教授告诉我解题太难了,换几行就行了。
但我无法按时完成此代码。
我什么时候玩?调试?我的代码,无法打印“列表”。
如何正确打印我的 LinkedList 代码? + 我必须修复几行。不是完整的代码。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct ListNode {
int data;
struct ListNode* link;
}listNode;
void insertFirstListNode(listNode* num, int data) {
listNode* newNode = malloc(sizeof(listNode));
newNode->link = num->link;
newNode->data = data;
num->link = newNode;
}
typedef struct {
listNode* head;
} linkedList_h;
linkedList_h* createLinkedList_h() {
linkedList_h* Newlist = (linkedList_h*)malloc(sizeof(linkedList_h));
Newlist->head = NULL;
return Newlist;
}
void printList(linkedList_h* L) {
listNode* p;
printf("L = (");
p = L->head;
while (p != NULL) {
printf("%d", p->data);
p = p->link;
if (p != NULL) printf(", ");
}
printf(") \n");
}
void main() {
linkedList_h* m;
m = createLinkedList_h();
insertFirstListNode(m, 10);
printList(m);
}
【问题讨论】:
-
您的插入节点功能错误。您需要注意列表为空的情况。在这种情况下,需要更新列表的头部。
-
@RishikeshRaje 你能为我解释更多细节吗?如何更新头部?你的意思是“linkedList_h”需要更多代码或修复它?
标签: c data-structures linked-list malloc nodes