typedef int ElemType;
typedef struct Node //结点结构
{
ElemType data;
struct Node *next;
}Node;
typedef struct Node *LinkList;
Status ListDelete(LinkList *L,int i,ElemType *e) //单链表删除
{
int j; LinkList p,q; p = *L; j = 1;
while (p->next && j < i)
{ p = p->next; ++j;}
if (!(p->next) || j > i)
return ERROR;
q = p->next;
p->next = q->next;
*e = q->data; //?????没明白这句作用
free(q);
return OK;
}
就是注释的那句实在想不明白是干嘛用的,求解~~~
注意看你传进去的最后一个参数 ElemType *e 这个明显是传进去的一个指针对吧 传指针进去的话 在结构体里面做的那些操作对参数e是有影响的 那句话的意思明显是为了在删除之前把数值提取出来并传入你的mian函数的
保存一下q的data值