// c2-2.h 线性表的单链表存储结构
struct LNode
{
ElemType data;
LNode *next;
};
typedef LNode *LinkList; // 另一种定义LinkList的方法
// bo2-2.cpp 单链表线性表(存储结构由c2-2.h定义)的基本操作(12个)
Status InitList(LinkList &L)
{ // 操作结果:构造一个空的线性表L
L=(LinkList)malloc(sizeof(LNode)); // 产生头结点,并使L指向此头结点
if(!L) // 存储分配失败
exit(OVERFLOW);
L->next=NULL; // 指针域为空
return OK;
}
struct LNode
{
ElemType data;
LNode *next;
};
typedef LNode *LinkList; // 另一种定义LinkList的方法
// bo2-2.cpp 单链表线性表(存储结构由c2-2.h定义)的基本操作(12个)
Status InitList(LinkList &L)
{ // 操作结果:构造一个空的线性表L
L=(LinkList)malloc(sizeof(LNode)); // 产生头结点,并使L指向此头结点
if(!L) // 存储分配失败
exit(OVERFLOW);
L->next=NULL; // 指针域为空
return OK;
}
Status DestroyList(LinkList &L)
{ // 初始条件:线性表L已存在。操作结果:销毁线性表L
LinkList q;
while(L)
{
q=L->next;
free(L);
L=q;
}
return OK;
}
{ // 初始条件:线性表L已存在。操作结果:销毁线性表L
LinkList q;
while(L)
{
q=L->next;
free(L);
L=q;
}
return OK;
}
Status ClearList(LinkList L) // 不改变L
{ // 初始条件:线性表L已存在。操作结果:将L重置为空表
LinkList p,q;
p=L->next; // p指向第一个结点
{ // 初始条件:线性表L已存在。操作结果:将L重置为空表
LinkList p,q;
p=L->next; // p指向第一个结点