轉自——小甲魚“數據結構與算法”
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;
}