单链表的定义

带头结点

#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);
}
posted @ 2022-07-09 11:15  喵酱的花椒  阅读(291)  评论(0)    收藏  举报