首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

main中的链表实现

链表是一种常见的数据结构,它由一系列节点组成,每个节点都包含一个数据元素和一个指向下一个节点的指针。链表可以用于实现一些常见的数据结构,如栈、队列和图等。

链表相对于数组有一些优势。首先,链表的大小可以动态地调整,不需要提前分配内存空间。其次,链表的插入和删除操作比较高效,只需要修改相邻节点的指针即可,不需要移动大量元素。但是链表的访问操作比较低效,需要遍历链表,直到找到目标节点。

在C/C++中,可以使用指针和结构体来实现链表。下面是一个简单的链表实现示例:

代码语言:txt
复制
#include <stdio.h>
#include <stdlib.h>

struct Node {
    int data;
    struct Node* next;
};

void insert(struct Node** head, int data) {
    struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));
    newNode->data = data;
    newNode->next = NULL;

    if (*head == NULL) {
        *head = newNode;
    } else {
        struct Node* current = *head;
        while (current->next != NULL) {
            current = current->next;
        }
        current->next = newNode;
    }
}

void display(struct Node* head) {
    struct Node* current = head;
    while (current != NULL) {
        printf("%d ", current->data);
        current = current->next;
    }
    printf("\n");
}

int main() {
    struct Node* head = NULL;
    
    // 在链表末尾插入数据
    insert(&head, 1);
    insert(&head, 2);
    insert(&head, 3);
    
    // 打印链表
    display(head);

    return 0;
}

推荐的腾讯云相关产品和产品介绍链接地址:

  • 腾讯云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云数据库(TencentDB):https://cloud.tencent.com/product/cdb
  • 腾讯云函数计算(SCF):https://cloud.tencent.com/product/scf
  • 腾讯云人工智能(AI):https://cloud.tencent.com/product/ai
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

5分16秒

【剑指Offer】18.2 删除链表中重复的结点

7.5K
13分59秒

JavaSE进阶-077-main方法的String数组

21分49秒

18-尚硅谷-Scala数据结构和算法-双向链表的实现

10分20秒

JavaSE进阶-078-main方法String参数的案例

3分59秒

12,双向链表插入新节点,代码该如何实现?

3分24秒

【剑指Offer】22. 链表中倒数第 K 个结点

273
10分3秒

65-IOC容器在Spring中的实现

2分22秒

Java零基础-048-main方法的args可以改为其它

30分10秒

017-尚硅谷-图解Java数据结构和算法-单链表创建和遍历的分析实现

30分10秒

017-尚硅谷-图解Java数据结构和算法-单链表创建和遍历的分析实现

8分3秒

【剑指Offer】35. 复杂链表的复制

292
4分9秒

【剑指Offer】18. 删除链表的节点

300
领券