/*链表的定义*/
typedef struct LNode
{
int data;
struct LNode *next;
}LinkList;
/*删除单链表L中的第i个结点*/
int Del(LinkList *L,int i)
{
LinkList *temp,*q;
int j=1;
temp=L->next;
if(temp==NULL)
/*空表,不能执行删除操作*/
return 0;
while((j<i-1)&&temp!=NULL) /*寻找第i-1个结点,temp指向该结点*/
{
j++;
temp=temp->next;
}
if(temp==NULL)
/*第i-1个结点不存在*/
return 0;
else if(temp->next==NULL)
/*第i个结点不存在*/
return 0;
/*删除结点*/
q=temp->next;
/*q指向第i个结点*/
temp->next=q->next;
free(q);
return 1;
}