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

看板C_and_CPP (C/C++)作者 (追夢)時間14年前 (2012/04/21 15:57), 編輯推噓5(5054)
留言59則, 15人參與, 最新討論串1/4 (看更多)
給定一個linkedlist 以及一個指標 這個指標指向這linkedlist 內部的某node(非head) 該怎麼找到這個node的前一個node呢? 非double linkedlist 是一個單向的 想不到有什麼方法... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.59.236.246

04/21 16:00, , 1F
簡單起見, 在開頭多塞一個node, 一個迴圈就找得了
04/21 16:00, 1F

04/21 16:02, , 2F
不過...你該不會程式碼還沒寫吧?
04/21 16:02, 2F

04/21 16:12, , 3F
如果只有這樣的資訊,我還真寫不出來
04/21 16:12, 3F

04/21 16:13, , 4F
回1F, 問題就是你不知道『開頭』
04/21 16:13, 4F

04/21 16:15, , 5F
資訊只有一個linkedlist 以及一個非指向head node的指標
04/21 16:15, 5F

04/21 16:16, , 6F
環狀有機會
04/21 16:16, 6F

04/21 16:16, , 7F
補充:非環狀XD
04/21 16:16, 7F

04/21 16:23, , 8F
問題有點怪..沒記 head 的話,new node怎麼連起來?
04/21 16:23, 8F

04/21 16:23, , 9F
new node可連起來->有head->可以用loop, 我邏輯有誤失嗎??
04/21 16:23, 9F

04/21 16:31, , 10F
條件至少該知道每個設定好的node吧
04/21 16:31, 10F

04/21 16:42, , 11F
就是沒有 所以是個不常見的問題XDDD
04/21 16:42, 11F

04/21 17:27, , 12F
你怎麼會有這樣的問題?非環狀,又不知道開頭
04/21 17:27, 12F

04/21 17:27, , 13F
那你已知的pointer之前的不就都沒用了
04/21 17:27, 13F

04/21 17:28, , 14F
沒方法
04/21 17:28, 14F

04/21 17:36, , 15F
請教題意出處。
04/21 17:36, 15F

04/21 17:36, , 16F
聽過類似的:給定一樣的資訊下,請刪掉這個 node
04/21 17:36, 16F

04/21 17:46, , 17F
這樣問,應該是有多次機會,從某段程式取得該指標
04/21 17:46, 17F

04/21 17:46, , 18F
樓上那個不太一樣 題目是說"等價的"刪除
04/21 17:46, 18F

04/21 17:46, , 19F
*樓上上 並不是真的要你"刪掉"那個點
04/21 17:46, 19F

04/21 17:47, , 20F
list 是對方建立的,追蹤他的程式碼就有機會找到
04/21 17:47, 20F

04/21 17:52, , 21F
是 "不太一樣" 沒錯啊 XD
04/21 17:52, 21F

04/21 18:00, , 22F
單向的linkedlist 把指向下一個node的point和給的point比較
04/21 18:00, 22F

04/21 18:01, , 23F
一樣的話 那個node就是上一個node阿
04/21 18:01, 23F

04/21 18:04, , 24F
因為被系統回收了 找不到了
04/21 18:04, 24F

04/21 18:28, , 25F
哈哈~ 什麼叫不知道? 能叫作linked list的ADT必然有對
04/21 18:28, 25F

04/21 18:28, , 26F
應的操作, 哪來資訊很少的論點
04/21 18:28, 26F

04/21 18:33, , 27F
請忽略樓上推文, linked list是basic data structure
04/21 18:33, 27F

04/21 18:33, , 28F
就算不用透過提供的操作, 也可以跑得出來
04/21 18:33, 28F

04/21 18:38, , 29F
版主能否再提示一點訊息?有點模糊。
04/21 18:38, 29F

04/21 18:47, , 30F
不知這題目...跟空間躍遷、海森堡不確定性原理有關係嗎?
04/21 18:47, 30F

04/21 18:53, , 31F
幾個月前的某公司面試問我的 我想跟空間跳躍應該沒關係
04/21 18:53, 31F

04/21 18:56, , 32F
所謂的不知道就是你不能使用或是你看不到 請遵守題目
04/21 18:56, 32F

04/21 19:02, , 33F
那就一個個位址慢慢掃
04/21 19:02, 33F

04/21 19:03, , 34F
我覺得出題者如何驗證你的答案對不對,這是個關鍵
04/21 19:03, 34F

04/21 19:04, , 35F
比如我建一個新的 linked list,但是其中一個node用題目給
04/21 19:04, 35F

04/21 19:04, , 36F
的那個指標,那自然可以取得所謂的前一個node
04/21 19:04, 36F

04/21 19:34, , 37F
既然跟C語言無關, 就到這裡為止吧... 我還以為會有COD
04/21 19:34, 37F

04/21 19:34, , 38F
E拯救這篇
04/21 19:34, 38F

04/21 20:48, , 39F
到這邊?為什麼跟C無關?難道只能停留在問語法嗎?
04/21 20:48, 39F

04/21 20:48, , 40F
感覺版大也太濫權了吧? 從頭到尾的口氣都怪怪的
04/21 20:48, 40F

04/21 21:20, , 41F
看程式的記憶體刪除node的變化 不過不一定找的到
04/21 21:20, 41F

04/21 21:21, , 42F
只能說條件不完整的題目找不到一定可行的方法
04/21 21:21, 42F

04/21 21:24, , 43F
假如有保留原始碼的話 就去做語法模擬XD
04/21 21:24, 43F

04/21 21:25, , 44F
這有點類似玩遊戲要怎麼找金手指的問題
04/21 21:25, 44F

04/21 21:58, , 45F
我覺得原po似乎誤會題目了...
04/21 21:58, 45F

04/21 22:02, , 46F
從code來看 根本只有給一個指標要找前一個...
04/21 22:02, 46F

04/21 22:33, , 47F
是什麼情況會不知道開頭..
04/21 22:33, 47F

04/22 13:47, , 48F
面試問這問題,一定是預設你知道 head...
04/22 13:47, 48F

04/22 13:48, , 49F
預期的答案一定是要你從頭開始找...
04/22 13:48, 49F

04/22 13:49, , 50F
如果不是的話,有兩種可能,一種是面試官不知道自己在講啥
04/22 13:49, 50F

04/22 13:49, , 51F
另外一種可能就是他覺得你是大師中的大師,想要考你什麼是
04/22 13:49, 51F

04/22 13:50, , 52F
Boehm garbage collector 裡面用到的核心技術..
04/22 13:50, 52F

04/22 13:50, , 53F
但因為不可能是後者,前者的機會也很低,唯一的可能就是你
04/22 13:50, 53F

04/22 13:51, , 54F
自己無聊幫題目加上了一個很不知所謂的限制...
04/22 13:51, 54F

04/22 15:02, , 55F
我還真是無聊啊
04/22 15:02, 55F

04/22 15:04, , 56F
我想這無聊的討論串還是到這裡為止好了 請版大幫忙刪除
04/22 15:04, 56F

04/22 16:05, , 57F
你的討論態度,開始讓我覺得無聊了,完全只想得到你自己
04/22 16:05, 57F

04/22 16:05, , 58F
心中預定想要的東西,其他的不屑一顧
04/22 16:05, 58F

04/22 19:32, , 59F
XD 推yoco 原PO說不定真的是面試作lib的
04/22 19:32, 59F
文章代碼(AID): #1FacXvqE (C_and_CPP)
文章代碼(AID): #1FacXvqE (C_and_CPP)