写单链表结构体,并且初始化和插入第一个节点,并且输出这个节点的内容
时间: 2024-09-23 09:05:57 浏览: 64
在编程中,单链表通常由一个结构体表示,包含两个部分:节点数据和指向下一个节点的指针。这里是一个基本的单链表节点结构体的定义示例,使用C语言:
```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; // 初始节点的next指针设为NULL
}
return newNode;
}
// 插入第一个节点
void insertFirstNode(ListNode** head, int value) {
ListNode* newNode = createNode(value);
if (*head == NULL) { // 如果链表为空,则直接设置新节点为头结点
*head = newNode;
} else {
newNode->next = *head; // 新节点连接到原头节点
*head = newNode; // 更新头节点
}
}
// 打印链表的第一个节点内容
void printFirstNode(ListNode* head) {
if (head != NULL) {
printf("第一个节点的数据: %d\n", head->data);
} else {
printf("链表为空\n");
}
}
int main() {
ListNode* head = NULL;
insertFirstNode(&head, 10); // 插入一个初始值为10的节点
// 输出第一个节点的内容
printFirstNode(head);
return 0;
}
```
在这个例子中,`main`函数首先创建了一个空的链表,然后通过`insertFirstNode`函数插入了第一个节点,最后打印出该节点的数据。
阅读全文