作者s890269 (賽)
看板C_and_CPP
標題[問題] 鏈結串列刪除節點問題
時間Mon Nov 5 15:03:45 2018
開發平台(Platform): (Ex: Win10, Linux, ...)
Win10
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
VC++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
在練習書後面的習題時遇到問題,我建立五個Element的串列,
並在第三個節點後插入數字10,接著我想要刪除串列中的第三個節點
在刪除時,用delete釋放記憶體時遇到問題,有上網爬過一些文以及參考寫法,
但還是有錯,可能是觀念的問題,想知道問題究竟在哪
餵入的資料(Input):
預期的正確結果(Expected Output):
Element的數目:5
Element的內容是:
0 2 4 6 8
插入第三個節點後
插入的值為10
0 2 4 10 6 8
刪除第三個節點
0 2 10 6 8
錯誤結果(Wrong Output):
Element的數目:5
Element的內容是:
0 2 4 6 8
插入第三個節點後
插入的值為10
0 2 4 10 6 8
刪除第三個節點
Segmentation fault
程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔)
http://codepad.org/BvKHcx4w
補充說明(Supplement):
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.167.48.176
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1541401428.A.95C.html
推 jerryh001: 最一開始不對 不能1次new5個 要5次1個 11/05 16:21
→ s890269: new我是參考書中的程式碼,是這個部分造成delete錯誤嗎? 11/05 16:46
→ jerryh001: 你new出來是一個陣列 不能單獨delete中間某一格 11/05 17:25
→ s890269: 好的,我知道了,謝謝 11/05 17:53