写单链表结构体,初始化并插入第一个节点,输出这个节点包含的内容
时间: 2024-09-24 20:03:45 浏览: 60
在C语言中,我们可以创建一个简单的单链表结构体`ListNode`来表示链表节点,并提供初始化、插入节点以及输出节点内容的方法。首先,我们定义一个链表节点的结构:
```c
#include <stdio.h>
#include <stdlib.h>
typedef struct ListNode {
int data; // 节点数据
struct ListNode* next; // 指向下一个节点的指针
} ListNode;
// 初始化一个新的链表节点
ListNode* createNode(int value) {
ListNode* newNode = (ListNode*)malloc(sizeof(ListNode));
if (newNode != NULL) {
newNode->data = value;
newNode->next = NULL; // 新建节点初始时指向NULL
}
return newNode;
}
// 插入节点到链表头部
void insertAtHead(ListNode** head, int value) {
ListNode* newNode = createNode(value);
if (*head == NULL) { // 如果链表为空,直接将新节点设为头节点
*head = newNode;
} else {
newNode->next = *head; // 否则,新节点接在当前头节点之后
*head = newNode;
}
}
// 输出链表节点内容
void printList(ListNode* node) {
while (node != NULL) {
printf("%d -> ", node->data);
node = node->next;
}
printf("NULL\n");
}
int main() {
// 初始化链表
ListNode* head = NULL;
// 插入第一个节点,值为5
insertAtHead(&head, 5);
// 输出第一个节点的内容
printList(head);
return 0;
}
```
在这个例子中,`main`函数首先创建了一个空链表`head`,然后插入一个值为5的节点。最后,通过`printList`函数输出了第一个节点的数据,即5。
阅读全文