鍊錶頭部啞結點巧用

2021-10-05 15:33:47 字數 781 閱讀 7274

有時我們需要對原鍊錶的第乙個結點進行操作,苦於沒有指標指向?

這時用啞結點就非常合適,簡化整個**邏輯,不用單獨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 圖 線性鍊錶的邏輯狀態 由上述描述可見,單鏈錶...