[問題] linked list的插入、刪除(詳情請入內)

看板C_and_CPP作者 (soarfox)時間14年前 (2009/10/31 22:40), 編輯推噓8(807)
留言15則, 8人參與, 最新討論串1/2 (看更多)
大家好!我最近在寫一個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
你的code好像有貼錯位置
10/31 22:58, 2F
能請問是哪裡貼錯了嗎?

10/31 23:29, , 3F
把pointer的位址印出來看吧,這樣比較清楚
10/31 23:29, 3F
好,感謝提供此方法,十分受用。 :)

11/01 09:18, , 4F
你的funtion怎麼都寫在main裡頭? 是新式還是舊式寫法嗎
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
function寫在main裡會比較節省記憶體?_?
11/01 19:55, 5F

11/01 20:01, , 6F
第一次看到把 function 寫在main裡 ... gcc沒辦法跑
11/01 20:01, 6F

11/01 20:04, , 7F
我記得function寫在function裡是可以的, struct好像也是
11/01 20:04, 7F

11/01 20:05, , 8F
通常是用在僅供區域使用的地方, 不過code會更難維護吧?
11/01 20:05, 8F

11/01 20:06, , 9F
只是, 寫在main裡的話不太懂為什麼比較省記憶體....@_@"
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
c語言有巢狀函式的機制...????
11/01 20:31, 10F

11/01 20:43, , 11F
有@_@" 但是, 我不覺得這樣寫會省到記憶體, 更不用說
11/01 20:43, 11F

11/01 20:43, , 12F
main function可是從頭到尾都活著吧....@_@"
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
文章代碼(AID): #1Ax4nJJ5 (C_and_CPP)
文章代碼(AID): #1Ax4nJJ5 (C_and_CPP)