[問題] 鏈結串列刪除節點問題

作者: s890269 (賽)   2018-11-05 15:03:45
開發平台(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):
作者: jerryh001   2018-11-05 16:21:00
最一開始不對 不能1次new5個 要5次1個
作者: s890269 (賽)   2018-11-05 16:46:00
new我是參考書中的程式碼,是這個部分造成delete錯誤嗎?
作者: jerryh001   2018-11-05 17:25:00
你new出來是一個陣列 不能單獨delete中間某一格
作者: s890269 (賽)   2018-11-05 17:53:00
好的,我知道了,謝謝

Links booklink

Contact Us: admin [ a t ] ucptt.com