单链表的定义
带头结点
#include <stdio.h>
#include <stdlib.h>
typedef struct LNode{ // 定义单链表结点类型
int data; // 每个节点存放一个数据元素
struct LNode *next; // 指针指向下一个节点
}LNode, *LinkList; // LNode强调返回的是一个结点,LinkList强调这是一个单链表
bool InitList(LinkList &L) {
L = (LNode *)malloc(sizeof(LNode)); // 分配一个头结点
if(L==NULL) // 内存不足,分配失败
return false;
L->next = NULL; // 头结点之后暂时还没有结点
return true;
}
void test() {
LinkList L; // 声明一个指向单链表的指针,此处并没有创建一个结点
InitList(L); // 初始化一个空表
}
// 判断单链表是否为空
bool Empty(LinkList L) {
return(L->next==NULL);
}
不带头结点
#include <stdio.h>
typedef struct LNode{ // 定义单链表结点类型
int data; // 每个节点存放一个数据元素
struct LNode *next; // 指针指向下一个节点
}LNode, *LinkList; // LNode强调返回的是一个结点,LinkList强调这是一个单链表
bool InitList(LinkList &L) {
L=NULL; // 空表,暂时还没有任何结点。设为NULL是为了防止脏数据
return true;
}
void test() {
LinkList L; // 声明一个指向单链表的指针,此处并没有创建一个结点
InitList(L); // 初始化一个空表
}
// 判断单链表是否为空
bool Empty(LinkList L) {
return(L==NULL);
}
本文作者:喵酱的花椒
本文链接:https://www.cnblogs.com/sashuishui/p/16460437.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步