學習軌道
/
Nim
Nim
/
練習
/
連結串列
連結串列

連結串列

中等

說明

實作一個雙向鏈結串列。

和陣列一樣,鏈結串列是一種簡單的線性資料結構。 許多常見的資料型態都可以用鏈結串列實作,例如佇列、堆疊和關聯式陣列。

鏈結串列是一群稱為節點的資料元素集合。 在單向鏈結串列中,每個節點都儲存一個值,以及一個指向下一個節點的連結。 在雙向鏈結串列中,每個節點還儲存一個指向前一個節點的連結。

你要撰寫一個雙向鏈結串列的實作。 先實作一個 Node 來儲存一個值,以及指向前一個和下一個節點的指標。 接著實作一個 List,它會保存第一個與最後一個節點的參照,並提供類似陣列的介面來新增和移除項目:

  • push(在尾端插入值);
  • pop(從尾端移除值);
  • shift(從前端移除值)。
  • unshift(在前端插入值);

為了讓你的實作保持簡單,測試不會涵蓋錯誤情況。 具體來說:pop 或 shift 永遠不會在空串列上被呼叫。

想多了解鏈結串列,請參閱 Wikipedia 上的鏈結串列。


出處

經典的電腦科學主題
透過 GitHub 編輯 連結會在新視窗或分頁中開啟
Nim Exercism

準備好開始 連結串列 了嗎?

註冊 Exercism,透過 70 個練習 和真人引導來學習並精通 Nim,全部免費。