C语言:链表添加

链表的添加的具体方法如下:

先判断链表是否有节点,

若没有, 头指针指向新来的节点,尾指针指向新来的节点。

若有, 尾节点的下一个指向新来的节点,尾指针指向新来的节点。

cpp 复制代码
#include<stdio.h>
#include<stdlib.h>

typedef struct node
{
	int id;
	char* name;
	struct node* pnext;
}list;

list* getnode(int id, char* name)
{
	list* ptemp = malloc(sizeof(list));
	ptemp->id = id;
	ptemp->name = name;
	ptemp->pnext = NULL;
	return ptemp;
}

void addnode(list** pphead, list** ppend, list* pnode)
{
	if (NULL == *pphead)
	{
		*pphead = pnode;
		*ppend = pnode;
	}
	else
	{
		(*ppend)->pnext = pnode;
		*ppend = pnode;
	}
}

int main()
{
	list* phead = NULL;
	list* pend = NULL;

	addnode(&phead, &pend, getnode(1, "aa"));
	addnode(&phead, &pend, getnode(2, "bb"));
	addnode(&phead, &pend, getnode(3, "cc"));
	addnode(&phead, &pend, getnode(4, "dd"));

	while (phead != NULL)
	{
		printf("%d %s\n", phead->id, phead->name);
		phead = phead->pnext;
	}

	return 0;
}
相关推荐
艾为电子17 分钟前
【技术帖】让接口不再短命:艾为 C-Shielding™ Type-C智能水汽防护技术解析
c语言·开发语言
雨浓YN3 小时前
OPC UA 通讯开发笔记 - 基于本地dll文件
windows·笔记
笨笨饿3 小时前
30_泰勒级数
c语言·stm32·嵌入式硬件·线性代数·机器学习·自动化·概率论
大强同学3 小时前
Obsidian CLI + Claude Code = 王炸组合
人工智能·windows·ai编程·cli
OOJO3 小时前
c++---vector介绍
c语言·开发语言·数据结构·c++·算法·vim·visual studio
iceslime5 小时前
Windows10系统静音修复相关
windows·音频·修复
humors2215 小时前
AI工具合集,不定期更新
人工智能·windows·ai·工具·powershell·deepseek
Echo-J5 小时前
在 Windows 7 虚拟机上安装 VMware Tools 时遇到驱动无法安装的问题
windows
爱编码的小八嘎6 小时前
C语言完美演绎6-21
c语言
爱编码的小八嘎7 小时前
c.语言完美演绎6-22
c语言