| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1211 人关注过本帖, 1 人收藏
标题:关于二级指针的疑问
只看楼主 加入收藏
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
鏈表的頭(head),不過是串上的某個結點,不是另外特殊的東西,取哪個結點作頭,是自由的,頭也可以改變,比如用新的結點作頭(所謂頭插法),也可以。總之,對鏈表來説,數據的物理位置是不用變動的,變的衹是那個邏輯鈎(next)。鏈表本質上是一個以地址爲元素的數組,這個數組在教科書上通常是虛的、在人的頭腦中存在,但實際上編程,卻可以構造一個數組來真實管理這些地址,比在腦中把指針穿插來去簡便直接得多,尤其是對鏈表的排序上,此時排的是指針,結點元素體積再龐大,也不礙事,它沒有複製結點的開銷,這一點上比數組排序顯得優勢。

授人以渔,不授人以鱼。
2015-11-11 12:13
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用边小白在2015-11-11 12:39:15的发言:

如果是单链,头指针还是非常重要的吧,否则无法逆向到头,释放不了内存啊。

幹嘛要逆向到頭?

授人以渔,不授人以鱼。
2015-11-11 12:42
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用边小白在2015-11-11 12:49:22的发言:

最终你申请的内存要从头到尾释放啊,假如abcd是个单链head指向a,每次从head都能遍历整个链,现在把head指向c,丢掉了原a的指向,我怎么再找到ab呢?

你改了頭,自己不會把數據串回來呀?哪些結點該在什麽位置,你自己決定,是否要保留,也是自己決定,哪有找不回來之理。我上面說“回收站”,不是已經告訴怎麽處理了麽。

你弄成cdab可以,弄成cabd也可以,或別的什麽都可以,在改變爲c的過程中直接把ab幹掉也可以,這些都是自由的。

[此贴子已经被作者于2015-11-11 12:56编辑过]


授人以渔,不授人以鱼。
2015-11-11 12:51
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
回复 26楼 边小白
我前面說了,可以用一個數組把鏈表的所有節點指針都保存起來,這樣你怎麽掉褲鏈都可以拎起來。

授人以渔,不授人以鱼。
2015-11-11 13:05
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
其實,數據結構中說鏈表的隨機查尋速度慢,是相對特定處理方案說的,在具體實現中,完全可以使鏈表數據的隨機速度快如數組。

授人以渔,不授人以鱼。
2015-11-11 13:10
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
對鏈表的操作,很多時候都用到中間變量,事實上,中間變量不規定衹能用一個。編程關鍵是基本功,這些每一個知識點,其實都不是特別深奧的東西,說出來誰都懂、都做過練習,問題在實際運用。光知道背和練套路,是沒用的,練習時要free()結點,到實踐中,卻不知道可以不free(),那就是讀書讀死了。

授人以渔,不授人以鱼。
2015-11-11 13:19
令狐少侠56
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:320
专家分:175
注 册:2014-4-10
收藏
得分:0 
回复 29楼 TonyDeng
谢谢几位版主,前几天忙,今天全看完
2015-11-16 10:43
快速回复:关于二级指针的疑问
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021059 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved