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

   2025-02-13 5270
核心提示:下面是一个C语言建立单链表的完整代码示例:#include stdio.h#include stdlib.h// 定义链表节点结构struct Node {int data;struc

下面是一个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函数打印链表的元素。该函数遍历链表,并依次打印每个节点的数据域。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言