Re: [問題] linkedlist 一個比較較不常見的問題

看板C_and_CPP (C/C++)作者 (無)時間14年前 (2012/04/22 16:28), 編輯推噓1(1010)
留言11則, 8人參與, 最新討論串4/4 (看更多)
※ 引述《Dreamer77 (追夢)》之銘言: : ※ 引述《Dreamer77 (追夢)》之銘言: : 給定一個linkedlist : 以及一個指標 這個指標指向這linkedlist 內部的某node(非head) : 該怎麼找到這個node的前一個node呢? : 非double linkedlist 是一個單向的 : 想不到有什麼方法... 不難 pointer -> NodeB .. 比方為 0x405F3C 單向Link List 一定會有一個 NodeA-> Next 指向 NodeB 這時候只要針對process 的 memory 去搜尋 0x405F3C 就可以找到 NodeA->Next的位址.. 再根據struct的大小往上推一下,就是 NodeA的起始位置了.. 凡走過必留下痕跡阿 (茶) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.170.37.49

04/22 16:36, , 1F
你確定是連續...
04/22 16:36, 1F

04/22 16:42, , 2F
有可能找到此node的起點,但是找不到上一個node
04/22 16:42, 2F

04/22 16:42, , 3F
暴力法搜尋 用說的是不難.. 如果記憶體中好死不死有4個byte
04/22 16:42, 3F

04/22 16:44, , 4F
系統會記錄程式抓了那些記憶體 不過會寫這個算強了
04/22 16:44, 4F

04/22 16:44, , 5F
值是0x00 0x40 0x5F 0x3C呢(BE, LE就顛倒順序)
04/22 16:44, 5F

04/22 18:29, , 6F
雖然暴力而且可能會巧合,但確實是個方法
04/22 18:29, 6F

04/23 00:05, , 7F
我也是想到掃記憶體,算是 simple is best 嗎?
04/23 00:05, 7F

04/23 00:41, , 8F
當然阿,既然人家要我們解,我們就盡可能地解囉 :D
04/23 00:41, 8F

04/23 01:25, , 9F
好吧同意~ :)
04/23 01:25, 9F

04/24 00:39, , 10F
好特別的方法
04/24 00:39, 10F

04/24 01:52, , 11F
推掃記憶體
04/24 01:52, 11F
文章代碼(AID): #1Fay4PzY (C_and_CPP)
文章代碼(AID): #1Fay4PzY (C_and_CPP)