一、 按值删除元素
//删除
void DeleteElem(LinkList &L, ElemType e)
{
LinkList p = L;//p指向头结点
LinkList q = NULL;
while(p->next != NULL)
{
if(p->next->date == e) //从首元结点开始比对
{
q = p->next;//临时保存被删结点的地址以备释放
p->next = p->next->next;//改变删除结点前驱结点的指针域
break;
}
p = p->next;//p指向下一结点
}
if(q != NULL)
{
delete q;//释放删除结点的空间
}
}
二、删除第i个元素 (按序号删除元素)
//删除第i个元素
void DeleteIndex(LinkList &L, int i)
{
LinkList p = L;
LinkList q = NULL;
int num = 0;
while(p->next != NULL)
{
num++;
if( num == i)
{
q = p->next;
p->next = p->next->next;
break;
}
p = p->next;
}
if(q !=