[問題] 鏈結串列 修改主程式傳入的節點

看板C_and_CPP (C/C++)作者 (兵者,國之大事)時間11年前 (2015/04/21 21:28), 11年前編輯推噓0(004)
留言4則, 1人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VS C++ 問題(Question): 想修改傳入主程式的節點內容 預期的正確結果(Expected Output): 將原本是dummy node的節點 刪除 把data為1的節點當作是新的起始節點 也就是讓主程式的node.data == 1 錯誤結果(Wrong Output): 無法將函式裡面修改的dummy node 順利的讓主程式也是同樣的結果 程式碼(Code):(請善用置底文網頁, 記得排版) http://codepad.org/td1efQyp 補充說明(Supplement): 有查過置底13誡 問題很像第13點 不過當初在主程式宣告的不是指標 所以有試過retrun沒辦法 阿 至於為什麼要寫兩層函式..... 因為我原本的code 函式first是用來搜尋 將找到的資料再丟到second處理 一般的資料都可以 但只有當找到的資料等於第一筆的時候會失敗 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.39.27.7 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1429622935.A.64E.html

04/21 21:34, , 1F
為什麼不直接讓第一個node.data=1就好? for從i=1開始
04/21 21:34, 1F
可是 以後若是要刪掉1 將node.data=2 這樣還是GG

04/21 21:44, , 2F
第一個node和其他node都用動態配置,保持一致比較清楚
04/21 21:44, 2F

04/21 21:45, , 3F
這樣你只要用一個Node *head指你想要的位置就好
04/21 21:45, 3F

04/21 21:46, , 4F
要刪掉的node記得free掉
04/21 21:46, 4F
改宣告成指標一下就成功了! 使用上還滿直觀的xD 而且居然沒出現以前的bug (串列裡的資料最後都會變成最後一個增加的值 謝囉~ ※ 編輯: ohyeah5566 (114.39.27.7), 04/21/2015 22:11:05
文章代碼(AID): #1LDb2NPE (C_and_CPP)
文章代碼(AID): #1LDb2NPE (C_and_CPP)