线性表:单链表存储
单链表由结点构成,每个结点包括一个数据域和一个指示其直接后继位置的指针域。链表中第一个结点的存储位置叫做头指针。在单链表中可以有头结点,也可以没有,但是一定有头指针。一般,有头结点的方式处理会比较简单明了。以下程序是针对有头结点的情况。头结点的数据域可以不存储任何信息,头结点的指针域存储指向第一个结点的指针。最后一个结点的指针域指向空NULL。
/*线性表链式存储的相应代码:
1.线性表的顺序单链表存储结构代码
2.初始顺序单链表
3.读取顺序单链表元素操作
4.插入操作
5.删除操作
6.判断线性表是否为空
7.顺序单链表整表创建:头插法
8.顺序单链表整表创建:尾插法
9.顺序单链表整表删除
10.遍历顺序单链表
11.顺序单链表长度
*/
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
#define MAXSIZE 20 /* 存储空间初始分配量 */
typedef int Status;/* Status是函数的类型,其值是函数结果状态代码,如OK等 */
typedef int ElemType;/* ElemType类型根据实际情况而定,这里假设为int */
/* 1.线性表的顺序单链表存储结构代码 */
typedef struct Node
{
ElemType data;
struct Node *next;
}Node;
typedef struct Node *LinkList; /* 定义LinkList */
/* 2.初始顺序单链表 */
Status InitList(LinkList *L)
{
*L = (LinkList)malloc(sizeof(Node)); /* 产生头结点,并使L指向此头结点 */
if(!(*L)) /* 存储分配失败 */
retu

本文探讨线性表的单链表存储结构,详细解析每个结点包含的数据域和指针域,以及头指针的概念。内容涵盖有头结点的单链表,头结点的数据域可为空,尾节点指针指向NULL。通过实例阐述单链表的组织方式。
最低0.47元/天 解锁文章
2098

被折叠的 条评论
为什么被折叠?



