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;
}
相关推荐
jingshaoqi_ccc8 小时前
windows 10系统下QT的安装及在Visual studio中的扩展安装
windows·qt·visual studio
不会就选b11 小时前
数据结构之顺序表和链表的OJ题(上)
数据结构·链表
東雪木13 小时前
泛型、反射、注解(Spring 框架核心底层)专属复习笔记
java·windows·笔记·学习·spring
luj_176814 小时前
R语言生态优势与学习曲线分析
c语言·开发语言·网络·经验分享·算法
叶子野格14 小时前
《C语言学习:文件操作》16
c语言·开发语言·c++·学习·visual studio
AI科技星14 小时前
万有引力G与真空介电常数ε0全维度完整关系式汇编(基于v=c螺旋时空理论)
c语言·开发语言·前端·javascript·网络·汇编·electron
C^h14 小时前
6轴达妙机械臂
c语言
sun00770015 小时前
Windows下UniGetUI,Linux下敲命令
windows
流星白龙15 小时前
【MySQL高阶】18.缓冲池页管理
数据库·windows·mysql
叶子野格15 小时前
《C语言学习:位运算》17
c语言·开发语言·c++·学习·visual studio