创建单链表的基本思路如下:
- 定义一个结构体用来表示链表中的节点,结构体中包含一个数据域用来存储节点的值,还包含一个指针域用来指向下一个节点。
struct ListNode { int data; struct ListNode* next; };
- 创建链表的函数需要先创建一个头节点,并将其指针域置为空。
struct ListNode* createList() { struct ListNode* head = (struct ListNode*)malloc(sizeof(struct ListNode)); head->next = NULL; return head; }
- 在创建链表时,可以通过循环的方式向链表中逐个添加节点。首先创建一个新节点,并为其数据域赋值。然后将新节点的指针域指向头节点的下一个节点,再将头节点的指针域指向新节点,这样就将新节点添加到了链表的头部。
void addNode(struct ListNode* head, int value) { struct ListNode* newNode = (struct ListNode*)malloc(sizeof(struct ListNode)); newNode->data = https://www.yisu.com/ask/value;>next = head->next; head->next = newNode; }
- 最后,可以通过循环遍历链表,访问每个节点的值。
void printList(struct ListNode* head) { struct ListNode* node = head->next; while (node != NULL) { printf("%d ", node->data); node = node->next; } printf("\n"); }
通过以上步骤,就可以创建一个简单的单链表,并向其中添加节点。