1:在離線的環境中導入鏡像 在無法訪問外網的情況下,通過將docker鏡像導出為一個包,然後導入到另外的一臺電腦上面,從而實現了不用訪問外網就能拉取鏡像了 #將鏡像輸出到這個tar包 [root@cleint ~]# docker save -o centos.tar centos #通過第三方的 ...
數據結構
鏈表
筆試題:設計一個演算法刪除單鏈表L(有頭節點)中的一個最小值結點。
/*****************************************************************
*
* file name : linkedlist.c
* author : [email protected]
* data : 2024/04/22
* function : 刪除單鏈表中的一個最小值結點
* note : None
*
* CopyRight (c) 2024 [email protected] All Right Reseverd
*
* ****************************************************************/
/*****************************************************************
*
* func name : LList_Del
* function : 刪除單鏈表中的一個最小值結點
* retval : bool
* note : None
* author : [email protected]
* data : 2024/04/22
*
* ****************************************************************/
bool LList_Del(LList_t *L)
{
//創建新的最小值結點和最小值前一個結點的指針,並對新指針進行初始化
LList_t *Lmin = L;
LList_t *Lprev = NULL;
//對鏈表的頭文件的地址進行備份
LList_t *PL = L;
//判斷首結點的指針域是否為NULL,如果為NULL,則退出迴圈
while(PL->next)
{
//判斷首結點的數據域是否小於最小值結點的數據域
if (PL->next->data < Lmin->next->data)
{
//若首結點的數據域小於最小值結點的數據域,則把首結點的指針域賦值給最小值結點,頭結點的指針域賦值給最小值前一個結點
Lmin = PL->next;
Lprev = PL;
}
//把頭結點的直接後繼作為新的頭結點
PL = PL->next;
}
//判斷最小值結點指針域是否等於NULL
if (NULL != Lmin->next)
{
//若最小值結點指針域不等於NULL,則把最小值的指針域賦值給最小值前一個結點的指針域
Lprev->next = Lmin->next;
//最小值結點的指針域指向NULL
Lmin->next = NULL;
free(Lmin);
return true;
}
//最小值前一個結點的指針域指向NULL
Lprev->next = NULL;
free(Lmin);
return true;
}