Java教程

单链表的定义

本文主要是介绍单链表的定义,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

带头结点

#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);
}
这篇关于单链表的定义的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!