typedef struct LNode
{
int data;
struet LNode *next;
}
LNode *Linkedlist;
LinkedList Delete(L inkedList L)
{
//L是带头结点的单链表,本算 法删除其最小值结点
Linkedlist *p,*q,*pre;
p= L-> next; //p为工作指针,指向待处理的结点。假定链表非空
pre =L;//pre指向最小值结点的前驱
q= p; //q 指向最小值结点,初始假定第-元素结点是最小值结点
while(p->next!=nulI)
{
if (p-> next-> data < q-> data)
{
pre= p;
q= p-> next;
} //查最小值结点p= p-> next; //指针后移
}
pre-> next=q-> next;
/从 链表上删除最小值结点
free(q); //释放最小值结点空 间
}//结束算法delete
`