把单链表中数据域最大的结点删除,其余结点继续保留。
下面这个理解不了什么做的
bool Delete_max(LinkNode* L, ElemType& item)
{
LinkNode* p = L, * max = L->next, * pre_to_max = L;
while (p->next) {
if (p->next->data > max->data) {
max = p->next;
pre_to_max = p;
}
p = p->next;
}
if (max != NULL) {
pre_to_max->next = max->next;
item = max->data;
delete max;
return true;
}
return false;
}