C语言学习 18-10-25

本文介绍了在C语言中如何手动操作链表,特别是如何在链表末尾添加新节点。首先,需要判断链表是否为空,如果为空,则直接将头指针指向新节点;否则,需要遍历链表直至找到最后一个节点,然后将其next指针指向新节点。
摘要由CSDN通过智能技术生成

1.手动在末尾添加链表

(1).判断该链表是否是个空链表,若是,则直接将头指针指向添加的节点
(2).若不是空链表,则将新节点添加到链表的最后

#include<stdio.h>
#include<stdlib.h>

typedef struct NAMENOTE
{
	int id;
	char *name;
	char *tel_num;
	struct NAMENOTE *p_next;
}NameNote;

NameNote *CreatNode(int id, char *name, char *tel_num);
void AppendNode(NameNote **pp_head, NameNote **pp_end, NameNote *node);

int main()
{
	NameNote *p_head = NULL;
	NameNote *p_end = NULL;
	AppendNode(&p_head, &p_end, CreatNode(1, "c", "111"));
	AppendNode(&p_head, &p_end, CreatNode(2, "python", "222"));
	AppendNode(&p_head, &p_end, CreatNode(3, "java", "333"));
	
	return 0;
}

NameNote *CreatNode(int id, char *name, char *tel_num)
{
	NameNote *node = (NameNote*)malloc(sizeof(NameNote));
	node->id = id;
	node->name = name;
	node->tel_num = tel_num;
	node->p_next = NULL;
	
	return node;
}

void AppendNode(NameNote **pp_head, NameNote **pp_end, NameNote *node)
{
	if(*pp_head == NULL)
	{
		*pp_head = node;
		*pp_end = node;
	}
	else
	{
		(*pp_end)->p_next = node;
	}
	
	return;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值