有時我們需要對原鍊錶的第乙個結點進行操作,苦於沒有指標指向?
這時用啞結點就非常合適,簡化整個**邏輯,不用單獨if else操作頭結點
增刪改查
如以下**:
//啞結點,解決從一開始拋的問題
listnode* result = new listnode(0);
result->next = head;
listnode* g = result;
listnode* p = nullptr;
//找到頭插法的頭,即m-1
for (int i = 0; i <= m - 2; i++)
//確定開始的位置g的下乙個,即m,即p位置
p = g->next;
//拋m-n次,
for (int i = 1; i <= n - m; i++)
//跳過temp節點
p->next = p->next->next;
//拋到g的後面
temp->next = g->next;
g->next = temp;
} return result->next;
提煉以下:
listnode* result = new listnode(0);
result->next = head;
//對原鍊錶操作
return result->next;
鍊錶 頭指標 頭結點
圖1為線性表 zhao,qian,sun,li,zhou,wu,zheng,wang 的邏輯狀態。頭指標 指示鍊錶中第乙個結點 即第乙個資料元素的儲存映像 的儲存位置。同時,由於最後乙個資料元素沒有直接後繼,則線性鍊錶中最後乙個結點的指標為 空 null 圖 線性鍊錶的邏輯狀態 由上述描述可見,單鏈...
鍊錶 頭指標 頭結點
圖1為線性表 zhao,qian,sun,li,zhou,wu,zheng,wang 的邏輯狀態。頭指標 指示鍊錶中第乙個結點 即第乙個資料元素的儲存映像 的儲存位置。同時,由於最後乙個資料元素沒有直接後繼,則線性鍊錶中最後乙個結點的指標為 空 null 圖 線性鍊錶的邏輯狀態 由上述描述可見,單鏈...
鍊錶 頭指標 頭結點
圖1為線性表 zhao,qian,sun,li,zhou,wu,zheng,wang 的邏輯狀態。頭指標指示鍊錶中第乙個結點 即第乙個資料元素的儲存映像 的儲存位置。同時,由於最後乙個資料元素沒有直接後繼,則線性鍊錶中最後乙個結點的指標為 空 null 圖 線性鍊錶的邏輯狀態 由上述描述可見,單鏈錶...