本文主要是介绍单链表的定义,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
带头结点
#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);
}
这篇关于单链表的定义的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!