转自——小甲鱼“数据结构与算法”
Status ListInsert(LinkList *L, int i, ElemType e)
{
int j;
LinkList p,q;
j=1;
p=*L; /*p=L->next是错误的,因为p是链表类型,但是L是指向链表的指针,L是没有next的,L不是结点*/
//q->data=e是错误的,因为q是链表类型,链表是一个指向结点的指针,不可以直接使用q->data
while( j<i && p )
{
p=p->next;
++j;
}
if( !p || j>i ) //忘了判断
return ERROR;
q=(LinkList)malloc(sizeof(Node)); //一定记得给q分配空间
q->data=e;
q->next=p->next;
p->next=q;
return OK;
}