数据结构c语言版求一个删除链表中最大元素的算法

如题所述

void Delete_Max(LinkList &L){
int max;
node *p,*q;
p=L->next;
max=p->data;
while(p!=NULL){
if(p->data>max)
max=p->data;
p=p->next;
}
p=L->next;
q=L;
while(p!=NULL){
if(p->data==max)
break;
p=p->next;
q=q->next;
}
q->next=p->next;
free(p);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-01-13
Status DeleteMaxL(LinkList &L,Elemtype &e){
p=q=L->next;

if(!p) return ERROR;

max=p->data;

while(p){

if(max<p->data)

{

max=p->data;

q=p;

}

p=p->next;

}

e=max;

p=q->next;

q->data=p->data;

q->next=p->next;

free(p);

return OK;

}