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;
}
相关推荐
系统之家装机大师10 分钟前
Win11 22H2/23H2系统11月可选更新KB5046732发布!
windows·电脑
系统之家装机大师12 分钟前
微软发布Win11 24H2系统11月可选更新KB5046740!
windows·电脑
带多刺的玫瑰43 分钟前
Leecode刷题C语言之统计不是特殊数字的数字数量
java·c语言·算法
陌小呆^O^1 小时前
Cmakelist.txt之win-c-udp-server
c语言·开发语言·udp
时光の尘2 小时前
C语言菜鸟入门·关键字·float以及double的用法
运维·服务器·c语言·开发语言·stm32·单片机·c
-一杯为品-2 小时前
【51单片机】程序实验5&6.独立按键-矩阵按键
c语言·笔记·学习·51单片机·硬件工程
戎梓漩2 小时前
windows下安装curl,并集成到visual studio
ide·windows·visual studio
Lenyiin3 小时前
02.06、回文链表
数据结构·leetcode·链表
爱摸鱼的孔乙己3 小时前
【数据结构】链表(leetcode)
c语言·数据结构·c++·链表·csdn
Dola_Pan3 小时前
C语言:数组转换指针的时机
c语言·开发语言·算法