单链表的存储结构
typedef struct Lnode{
ElemType data;
struct Lnode *next;
}Lnode,*LinkList;//LinkLIst为指向结构体Lnode的指针类型
结构体用(·)
Lnode a;
a.data
指针用->
*LinkList a;
a->data
定义链表:LinkList L;
定义结点指针p:LNode *p;
单链表初始化
Status InitList_L(LinkList &L){
L=new LNode;或L=(LinkList)malloc(sizeof(LNode));
L->next=NULL;
return OK;
}
判断是否为空表
int ListEmpty(LinkList L){
if(L->next)//存在,非空
return 0;
else
return 1;//空表
}
单链表的销毁
Status DestroyList_L(LinkLIst &L){
lnode *p; 或者LinkList p;
while(L){
p=L;
L=L->next;
free(p);}
return OK;
}
清空链表
Status ClearList(LinkList &L){
Lnode *p,*q;
p=L->next;
while(p){
q=p->next;
delete p;
p=q;
}
L->next=NULL;
returb OK;
}
求表长
int Listlength(LinkList L)
LinkList p;
p=L->next;
int i=0;
while(p){
i++;
p=p->next;
}
return i;
}