#include <stdio.h> #include <stdlib.h> //带头结点单链表 typedef struct Node { //定义链表数据结构 int data; struct Node* next; }Node; Node* initList(){ //初始化 头结点 Node* List = (Node*)malloc(sizeof(Node));//开辟空间后List变成结构体变量 List->data = 0;//头结点不存储数据但可以计数,保存链表元素个数 List->next = NULL; return List; } void headInsert(Node*List,int data) {//头插法 Node* node = (Node*)malloc(sizeof(Node));//新建的一个结点; node->data = data; node->next = List->next; List->next = node; List->data++;//头结点开始计数 } void tailInsert(Node*List,int data) {//尾插法 Node* head = List;//后面头结点会改变,先保存下来 Node* node = (Node*)malloc(sizeof(Node));//新建的一个结点; node->data = data; node->next = NULL; List = List->next;//指向第一个保存数据的结点,开始遍历找最后一个结点 while (List->next != NULL) { List = List->next; }//遍历结束找到头结点 List->next = node;//让最后一个结点指向新结点 head->data++
c语言单链表带头结点实现代码注释解析
于 2022-07-05 20:04:38 首次发布
本文详细讲解了如何使用C语言创建一个带有头结点的单链表,包括初始化链表、插入节点、删除节点等操作,并提供了相应的代码注释,帮助理解数据结构中的链表概念。
摘要由CSDN通过智能技术生成