資料結構連結串列筆試題
筆試題3:設計一個演算法刪除單連結串列 L(有頭結點)中的一個最小值結點
/*******************************************************************
*
* 函式名稱: LList_Del
* 函式功能: 刪除連結串列中最小值節點
* 函式引數:
* @L :傳遞頭節點的地址
* 返回結果:
* 注意事項: None
* 函式作者: liuliu @136.com
* 建立日期: 2024/04/22
* 修改歷史:
* 函式版本: V1.0
* *****************************************************************/
//刪除最小值節點
void LList_Del( Data_Type *L)
{
Node_Type *current=L-->next;//當前節點地址
Node_Type *prev=L;//當前節點的直接前驅地址
Node_Type *minnode= current;//最小值節點的地址
int min=Lcurrent-->data;//最小值
Node_Type *ptr= pre;
//遍歷連結串列,找出最小值節點並刪除
whlie(current)
{
if(min>current-->data )
{
min=current-->data;
minnode=current;
prev=ptr;
}
current=current-->Next;//自增到下一個節點
ptr=ptr-->next;
}
prev-->next=minnode-->next;//刪除最小值節點
minnode-->next=NULL;
free(minnode);//釋放最小值節點的記憶體
return;
}