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;
}
相关推荐
U盘失踪了3 小时前
python JSONPath 表达式生成器
linux·windows·python
设计师小聂!7 小时前
力扣热题100------21.合并两个有序链表
算法·leetcode·链表
徐赛俊10 小时前
# 自动定时运行Python爬虫脚本教程(Windows任务计划程序)
windows·爬虫·python
玖剹10 小时前
Linux文件操作:从C接口到系统调用
linux·服务器·c语言·c++·笔记·ubuntu
Lovyk11 小时前
Linux 系统启动原理
linux·服务器·windows
闪电麦坤9511 小时前
数据结构:反转链表(reverse the linked list)
数据结构·链表
屁股割了还要学12 小时前
【数据结构入门】链表
c语言·开发语言·数据结构·c++·学习·算法·链表
杰克尼14 小时前
Java基础-stream流的使用
java·windows·python
limnade15 小时前
falsk windows 服务器部署-解决服务器外无法访问
服务器·windows·flask·智能路由器
KS、zheng15 小时前
【DOCKER】Windows Server 2016 Datacenter离线安装Docker引擎
windows·docker·容器