1个回答
展开全部
/*****************************************************************
【作者日期】test 2013-06-01
【函数功能】根据学生ID删除学生信息
【输入参数】头结点指针
【输出参数】头结点指针
【函数返回】头结点指针
【算法说明】入参检查要全面及出错信息处理要完善
【修改记录】
*****************************************************************/
Link *DelInfo(Link *head)
{
//clearScreen();
Link *tail;//
Link *tmp;
Link *nhead;
int pID;
tail = NULL;
tmp = head;
nhead = head;
pID = 0;
if(NULL == head)
{
printf("empty link.\n");
// WaitSys();
return head;
}
tail = head->next;
printf("Please input the ID(which you want to del): \n");
scanf("%d", &pID);
getchar();
//删除的是头结点
if(tmp->ID == pID)
{
tmp = tmp->next;
nhead = tmp;
free(tmp);
if(NULL != tmp)
tmp = NULL;
return nhead;
}
//删除其他位置
while(tail)
{
if(tail->ID == pID)
{
tmp->next = tail->next;
free(tail);
if(NULL != tail)
tail = NULL;
return nhead;
}
else
{
tmp = tmp->next;
tail = tail->next;
if(NULL == tail)
{
printf("你输入的ID不存在\n");
WaitSys();
return nhead;
}
}
}
return nhead;
}
希望对楼主有所帮助!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询