c语言建立单链表的完整代码

avatar
作者
筋斗云
阅读量:2

下面是一个C语言建立单链表的完整代码示例:

#include <stdio.h> #include <stdlib.h>  // 定义链表节点结构 struct Node {     int data;     struct Node* next; };  // 在链表末尾插入新节点 void insertAtEnd(struct Node** head, int newData) {     // 创建新节点     struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));     newNode->data = newData;     newNode->next = NULL;      // 如果链表为空,则将新节点作为头节点     if (*head == NULL) {         *head = newNode;         return;     }      // 遍历链表直到最后一个节点     struct Node* temp = *head;     while (temp->next != NULL) {         temp = temp->next;     }      // 在链表末尾插入新节点     temp->next = newNode; }  // 打印链表的元素 void printList(struct Node* node) {     while (node != NULL) {         printf("%d ", node->data);         node = node->next;     }     printf("\n"); }  int main() {     struct Node* head = NULL; // 初始化头节点      // 在链表末尾插入元素     insertAtEnd(&head, 1);     insertAtEnd(&head, 2);     insertAtEnd(&head, 3);     insertAtEnd(&head, 4);     insertAtEnd(&head, 5);      // 打印链表元素     printList(head);      return 0; } 

这段代码首先定义了一个链表节点结构Node,其中包含数据域data和指向下一个节点的指针next

然后,通过insertAtEnd函数在链表末尾插入新节点。该函数首先创建一个新节点,并将新节点的数据域设置为newData,将新节点的指针域next设置为NULL

如果链表为空,则将新节点作为头节点。否则,遍历链表直到最后一个节点,然后将新节点插入到最后一个节点的next指针。

最后,通过printList函数打印链表的元素。该函数遍历链表,并依次打印每个节点的数据域。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!