链表基础之动态创建有头链表(头部插入)

本文介绍了如何动态创建有头链表,重点在于头部插入节点的操作。通过定义结构体和使用malloc函数,创建并初始化链表头。在插入新节点时,确保正确设置next指针,以便进行链表遍历。文中还提供了有头链表遍历的详细步骤,解释了如何通过头节点的next指针进行循环遍历,避免了直接赋值带来的复杂性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先定义一个结构体,结构体内的next指针用来指向需要连接的下一个结构体地址。

struct Nodes
{
   
   
    int datas;
    struct Nodes* next;
};

使用malloc函数动态创建一个链表头,并将指针设置为空。

	 Nodes* head = (struct Nodes*)malloc(sizeof(struct Nodes));
   	 head->next = nullptr;

创建第一个节点,并给数据赋值

Nodes* newnode1 = (struct Nodes*)malloc(sizeof(struct Nodes));
    newnode1->datas = 1;

这里需要注意的是,需要将表头连接新插入节点,并将新节点的next指针设置为空,由于此为单向链表,需要先将next连接指针设置为空,在将头部节点,连接上,注意步骤。

newnode1->next = head->next;
    head->next = newnode1;

如此循环再次创建一个新的节点,将新的节点插入头部,需要先将next指针指向后面一个节点,即为表头所连接的地址,再将表头连接上新插入的节点,就完成了新一轮的链表头部插入操作。
新节点的名称并不重要,重要的是需要找到第一个节点,才可以此遍历

Nodes* newnode2 = (struct Nodes*)malloc(sizeof(struct Nodes));
    newnode2->datas =2 ;
    newnode2->next = head->next;
    head->next = newnode2; 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值