#define ERROR 0typedef int Status; //Status 是函数返回值类型,其值是函数结果状态代码。
typedef int ElemType; //ElemType 为可定义的数据类型,此设为int类型
typedef struct LNode
{ ElemType data; //结点的数据域
struct LNode* next; //结点的指针域
}LNode, * LinkList;
Status ListDelete_L(LinkList& L, int i, ElemType& e) { 单链表的删除
//在带头结点的单链表L中,删除第i个位置,并由e返回值
LNode* p, * q;
int j;
p = L; j = 0;
while (p->next && j < i - 1) { p = p->next; ++j; } //寻找第i-1个结点
if (!(p->next) || j > i - 1) return ERROR; //i大于表长+1或者小于1
q = p->next; //临时保存被删结点的地址以备释放
1 //改变删除结点前驱结点的指针域
e = q->data; //保存删除结点的数据域
2 //释放删除结点的空间
return OK;
}