免費開始練習
普考申論題 106年 [資訊處理] 程式設計概要

第 二 題

二、用 C 語言撰寫一個函式,能反轉一單向鍊結串列(singly linked list): struct node* reverse(struct node *h)。 單向鍊結串列範例如圖一。(25 分) 函式內請勿複製結點,其中節點的資料結構為 struct node { int d; struct node *next; } 圖一、單向鍊結串列範例
題目圖片
📝 此題為申論題

思路引導 VIP

看到單向鏈結串列的反轉且要求不複製節點,應立即聯想到「原址反轉(in-place reversal)」演算法。使用三個指標(prev、curr、next)配合 while 迴圈,逐步改變節點之間的 next 指向即可完美解題。

🤖
AI 詳解 AI 專屬家教

【解題思路】利用三個指標(prev, curr, next)在原址(in-place)改變節點的指標方向,達成反轉串列的目的。 【程式實作】

▼ 還有更多解析內容

升級 VIP 解鎖