【数据结构】(单链表)带头结点删除最小值元素

算法思想:while 循环 找出最小节点的前驱节点 以及最小值节点 之后删除即可

void Delete_Min(LNode *&head ){

	if(head ->next==NULL)
		return;

	LNode *pre=head ;			//前驱结点
	LNode *current=head ->next; //游标指针
	LNode *min=head ->next; //默认最小值结点是第一个结点

	while(current->next!=NULL){

		if(current->next->data<min->data){
			pre=current;
			min=current->next;
		}

		current=current->next;
	}

	LNode *f=min;
	pre->next=min->next;
	free(f);
}
上一篇:线性表


下一篇:数据结构—习题2.5 将一个带头结点的单链表分解成两个单链表