[問題] linked list的插入、刪除(詳情請入內)
大家好!我最近在寫一個C語言linked list的作業,
但我寫完之後,不論怎樣更改程式碼,
在輸入一些節點後,選擇刪除掉某些節點,刪除完就會出現一些小問題,
可能是某個後端節點的值被刪掉後,卻莫名地在最前端多出一個0值,
或者刪除掉前端節點的值後,前端節點反而變成一個亂數值!
因為自己已經想了好幾天,也翻過板上的文章與精華區,
自己手邊唯一一本C語言教學手冊也看了好久,但總是無法修正這些BUG,
所以才POST到板上,希望能夠獲得解決的辦法,謝謝各位。
以下是題目要求:
1.請使用鏈結串列 (Linked List) 資料型態完成程式。
2.使用者可以選擇 1.新增節點 或 2.刪除節點 兩種功能。
3.使用者選擇功能後,輸入一數字,必須在串列中找到適當的位置,插入或移除該節點。
4.執行功能後將串列完整印出,並回到功能選擇的步驟。
開發平台:Windows XP 使用語言:C語言 使用軟體:DEV-C++ version 4.9.9.2
有問題的code:
http://nopaste.csie.org/60b0d
補充說明:
雖然這個題目的程式碼自己前前後後寫了好幾次才有今日的雛形,
但總覺得自己還是不太清楚我到底是瞭解linked list的基礎了沒?
好像常有一種似懂非懂的不確定感在漂浮著,請問有無什麼檢驗自己觀念的方法呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.41.168.55
※ 編輯: shieldsky 來自: 114.41.168.55 (10/31 22:43)
推
10/31 22:56, , 1F
10/31 22:56, 1F
→
10/31 22:58, , 2F
10/31 22:58, 2F
能請問是哪裡貼錯了嗎?
推
10/31 23:29, , 3F
10/31 23:29, 3F
好,感謝提供此方法,十分受用。 :)
推
11/01 09:18, , 4F
11/01 09:18, 4F
新式?舊式?我想Function寫在main function的外部或內部,
應該是看個人習慣與程式需求喔!雖然寫在main function中比較節省記憶體使用量。XD
※ 編輯: shieldsky 來自: 114.41.168.55 (11/01 19:53)
推
11/01 19:55, , 5F
11/01 19:55, 5F
→
11/01 20:01, , 6F
11/01 20:01, 6F
推
11/01 20:04, , 7F
11/01 20:04, 7F
→
11/01 20:05, , 8F
11/01 20:05, 8F
→
11/01 20:06, , 9F
11/01 20:06, 9F
我同學、助教都說寫在main function中會比較節省記憶體噎!因為只有main function可
以使用它們,這樣子那些function就不會從頭到尾都佔用著某部分的記憶體空間。
因為只有main function在運作時,才會使用到那些function,
如果今天一個程式沒有在跑main function時,
則不會讓那些function一直佔用著某部分的記憶體空間。
當然,如果說一個程式內就只有一個main function在運作時,其實兩者就沒太大差別了。
p.s.一時之間也不知道該怎麼解釋,因為近來身體不適,腦筋有點混亂,希望文辭有達意。
※ 編輯: shieldsky 來自: 114.41.168.55 (11/01 20:27)
※ 編輯: shieldsky 來自: 114.41.168.55 (11/01 20:28)
推
11/01 20:31, , 10F
11/01 20:31, 10F
推
11/01 20:43, , 11F
11/01 20:43, 11F
→
11/01 20:43, , 12F
11/01 20:43, 12F
→
11/01 22:49, , 13F
11/01 22:49, 13F
→
11/01 23:07, , 14F
11/01 23:07, 14F
推
11/02 10:44, , 15F
11/02 10:44, 15F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):