说明
1.有头结点的单链表的9中运算;
2.因为网上的写法与书上的多少有点儿出入,所以我就自己写了一遍常用的9中运算,如果想要不带头结点的运算,你可以在相应的运算中加一个 if 判断,然后把没有头结点的情况列进去就行啦!
代码
#include<stdio.h>
#include<stdlib.h>
#define OK 1
#define ERROR 0
typedef int Status;
typedef int ElemType;
typedef struct LNode
{
ElemType data;
LNode *next;
}LNode, *LinkList;
Status InitList(LinkList &L)
{ // 初始化
L = (LinkList)malloc(sizeof(ElemType));
if(!L) return ERROR; // 分配内存失败
L->next = NULL;
return OK;
}//InitList
Status DispList(LinkList &L)
{ // 打印单链表
LinkList p = L;
p = p->next;
while(p)
{
printf("%d\t", p->data);
p = p->next;
}
return OK;
}//DispList
Status ListLength(LinkList &L)
{ // 获取单链表的长度
int i = 0;
LinkList p = L;
while(p->next)
{
p = p->next;
i ++;