[問題] linked list

看板C_and_CPP作者 (小馬非馬)時間14年前 (2010/01/06 22:53), 編輯推噓3(3014)
留言17則, 3人參與, 最新討論串1/4 (看更多)
不知到資料結構的問題能不能問@_@ 在做linked list的時候, 有首節點可以不必處理空串列的問題,也可以把首節點拿來記錄list長度 其實我不是很懂前句 我在寫linked list的時候,從來就沒想過要用首節點 都是用if判斷式解決空串列的問題〈例如要刪除節點而串列是空的〉 有首節點的話 一樣要判斷指標是不是指到首節點,而斷定串列是不是空的〈我不確定,因為不懂這裡〉 這樣的話,好像跟沒有的時候要判斷是一樣的,都要判斷 還是! 其實可以避免什麼很神奇又秘密的麻煩〈像指標沒指東西最好放null的感覺XD〉 有勞各位解惑了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.121.130.193

01/06 22:56, , 1F
譬如說 你是空list的時候 你要建立first element
01/06 22:56, 1F

01/06 22:57, , 2F
你必須持有那個指標的reference 如果傳進function
01/06 22:57, 2F

01/06 22:57, , 3F
有dummy node,link就一直不會是空的,不需用if判斷
01/06 22:57, 3F

01/06 22:57, , 4F
就會有一些麻煩 必需要用兩層指標
01/06 22:57, 4F

01/06 22:58, , 5F
有head你總是可以把新的掛在curr->next上面
01/06 22:58, 5F

01/06 23:03, , 6F
link不會是空的,可是還是要判斷有沒有要刪的資料吧?
01/06 23:03, 6F

01/06 23:04, , 7F
如果只有首節點,而又要delete,怎麼辦?
01/06 23:04, 7F

01/06 23:04, , 8F
b大的話我要思考一下0.0
01/06 23:04, 8F

01/06 23:04, , 9F
刪的時候一樣 如果你在不同variable scope的function裡面
01/06 23:04, 9F

01/06 23:05, , 10F
要刪到完的話 最後也是要讓指標=NULL 也是需要reference
01/06 23:05, 10F

01/06 23:05, , 11F
這樣在first element的時候需要兩層指標 其他時候不用
01/06 23:05, 11F

01/06 23:05, , 12F
就變得很麻煩 不如放個head
01/06 23:05, 12F

01/06 23:06, , 13F
作業可能都開global variable在用的感覺不出來XD
01/06 23:06, 13F

01/06 23:06, , 14F
喔~b大的我懂了,這是實作上的好處
01/06 23:06, 14F

01/06 23:08, , 15F
原來不必處理空串列是這個意思呀XD 感謝解說
01/06 23:08, 15F

01/06 23:15, , 16F
總是使用公用空間裡面的東西 就不用煩惱reference
01/06 23:15, 16F

01/06 23:16, , 17F
private裡面的東西就讓他當個準常數吧
01/06 23:16, 17F
文章代碼(AID): #1BHAFiIb (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1BHAFiIb (C_and_CPP)