创建一个单链表的方法可以有多种实现方式,以下是其中的一种常见方法:
- 定义一个链表节点的结构体,包含一个数据域和一个指向下一个节点的指针域。
struct Node { int data; struct Node* next; };
- 创建链表的头节点,并初始化为空。
struct Node* head = NULL;
- 逐个添加节点,可以根据需求选择从头部或尾部添加节点。
- 从头部添加节点:
struct Node* newNode = (struct Node*)malloc(sizeof(struct Node)); // 创建新节点 newNode->data = https://www.yisu.com/ask/value; // 设置节点的数据域>next = head; // 将新节点的指针域指向当前头节点 head = newNode; // 更新头节点为新节点
- 从尾部添加节点:
struct Node* newNode = (struct Node*)malloc(sizeof(struct Node)); // 创建新节点 newNode->data = https://www.yisu.com/ask/value; // 设置节点的数据域>next = NULL; // 将新节点的指针域置为NULL if (head == NULL) { // 如果链表为空,则将新节点设为头节点 head = newNode; } else { struct Node* temp = head; while (temp->next != NULL) { // 找到最后一个节点 temp = temp->next; } temp->next = newNode; // 将新节点连接到最后一个节点 }
- 可以选择插入节点、删除节点等操作来修改链表。
注意:在使用完链表后,应该记得释放内存,避免内存泄漏。
struct Node* temp = head; while (head != NULL) { temp = head; head = head->next; free(temp); }