第2个回答 推荐于2016-06-23
兄弟,用心学吧 。这只是算法。你自己去分析一下。
#include <stdio.h>
typedef int ElemType;
struct LNode
{
ElemType data;
LNode *next;
};
struct LinkList
{
LNode *Head;
};
int LinkList::ListDelete_End( ElemType& e )
{
LNode *p = Head;
if ( p->next==NULL )
{
printf("删除位置错误!");
return 0;
}
else if ( p->next!=NULL && p->next->next==NULL )
{
p = p->next;
free p;
Head->next = NULL;
return 0;
}//---------------用于删除只有一个数据的情况
while ( p->next->next!=NULL )
{
p = p->next;
}
free p;
p = NULL;
return 0;
}
int LinkList::ListDelete_Head( ElemType& e )
{
LNode *p = Head;
int j = 0;
if ( p->next==NULL )
{
printf("删除位置错误!");
exit -1;
}
p = p->next;
Head->next = p->next;
free p;
return 0;
}本回答被提问者和网友采纳