contributed by < tinyynoob
>
對照 quiz3 測驗 7
這顯然是個從 singly-linked list 移除節點的問題,前面結構中的 handler
和 flags
都與答題無關。
走訪 list 並使用 indirect pointer 來刪除節點,EXP4
應為 con = &(*con)->next
,而其中的 if statement 用於判斷是否已找到目標,EXP5
應為 (*con)->next
。
解說如下:
假設現在要刪除 b 節點
接著第二圈的 if statement 會發現已找到目標 b
並結束搜尋。
在 linked list 中,head 與 node 扮演著不同的角色,常見的情況為:
既然目的不同,實作的方式也就不相同,那麼使用不同的定義也是自然而然。
藉由 head
的獨立定義,也可以做出把 consumers 分放到不同條 list 的功能等等。