行业资讯
您现在所在的位置:首页>企业动态>行业资讯

C语言常见的单链表操作有哪些?

编辑:学到牛牛IT培训    发布日期: 2023-03-15 10:21:19  

在C语言中,单链表是一种常用的数据结构。它由一系列节点组成,每个节点包含一个数据元素和一个指向下一个节点的指针。单链表可以用于实现各种数据结构,例如栈、队列等。以下是一些常见的单链表操作。


1678845599150.jpg


创建链表:创建空链表通常通过定义一个指向链表第一个节点的指针来实现。例如:

struct ListNode {

    int val;

    struct ListNode *next;

};


struct ListNode* createList() {

    return NULL; // 返回空链表

}


插入节点:在链表中插入一个新节点通常需要先创建一个新节点,然后将其指针指向正确的位置。例如,下面的代码演示了如何在链表头部插入一个节点:

struct ListNode* insertNode(struct ListNode* head, int val) {

    struct ListNode* node = malloc(sizeof(struct ListNode));

    node->val = val;

    node->next = head;

    return node; // 返回新的链表头

}


删除节点:从链表中删除一个节点通常需要找到待删除节点的前一个节点,并将其指针指向待删除节点的下一个节点。例如,下面的代码演示了如何删除链表头部的节点:

struct ListNode* deleteNode(struct ListNode* head) {

    if (head == NULL) {

        return NULL;

    }

    struct ListNode* nextNode = head->next;

    free(head);

    return nextNode; // 返回新的链表头

}


遍历链表:遍历链表通常需要使用一个指针来依次访问每个节点,并执行相应的操作。例如,下面的代码演示了如何打印链表中所有节点的值:

void printList(struct ListNode* head) {

    struct ListNode* p = head;

    while (p != NULL) {

        printf("%d ", p->val);

        p = p->next;

    }

    printf(" ");

}


查找节点:查找链表中是否存在某个特定值的节点通常需要遍历整个链表,并逐个比较节点的值。例如,下面的代码演示了如何查找链表中是否存在值为x的节点:

bool findNode(struct ListNode* head, int x) {

    struct ListNode* p = head;

    while (p != NULL) {

        if (p->val == x) {

            return true;

        }

        p = p->next;

    }

    return false;

}


以上是单链表的一些基本操作。掌握这些操作可以帮助程序员更好地利用单链表来实现各种数据结构。


免费试学
课程好不好,不如实地听一听

封闭学习

2

1

联系我们

电话:028-61775817

邮箱:1572396657@qq.com

地址:成都市金牛区西城国际A座8楼

  • 新闻频道_关注IT技术应用资讯-学到牛牛
    新闻频道_关注IT技术应用资讯-学到牛牛

    扫一扫,免费咨询

  • 新闻频道_关注IT技术应用资讯-学到牛牛
    新闻频道_关注IT技术应用资讯-学到牛牛

    微信公众号

  • 新闻频道_关注IT技术应用资讯-学到牛牛
新闻频道_关注IT技术应用资讯-学到牛牛

学一流技术,找高薪工作

新闻频道_关注IT技术应用资讯-学到牛牛

7-24小时服务热线:

028-61775817

版权声明 网站地图

蜀ICP备2021001672号

课程问题轻松问