嚴蔚敏的資料結構與演算法(c語言版中關於引用

2022-02-15 00:45:00 字數 2255 閱讀 7737

1樓:匿名使用者

l這個連結串列在函式中,進行了插

入操作,使連結串列l發生了變化,函式就需要引用呼叫l啊!

status

這個函式的返回值是狀態碼,而不是返回l連結串列的頭結點地址。

2樓:

引用常常是有必要的,他十分重要的一點就是可以避免物件的複製!

同樣是傳遞,如果你要傳遞的是一個非常龐大的物件,這時候不用引用的話,傳給函式的就是這個物件的一個副本,構造這樣一個副本會呼叫拷貝建構函式,如果物件龐大,可能會花費大量的系統資源,所以引用的有意義的。而用了引用,就可以避免這樣一個拷貝過程。舉例,mfc中大量使用的就是常引用,因為他的類往往是一個控制元件或者是一個對話方塊。

如果為了避免或者強調傳遞的物件不發生改變,可以用「常引用」

就是const type &name的形式,這樣既可以避免修改也可以避免拷貝。

用linklist l,這個子程式裡面的l是外面傳值傳過來的一個linklist的拷貝,要做一次複製操作,會花費一定系統開銷!

用linklist &l,不需要這個複製操作,節省資源!

這裡並不關心改不改變l的值,使用引用不只是為了讓l的值能改變,還有我說的這個作用

3樓:匿名使用者

l的地址沒變但是整個連結串列內容變了,l指向的地址有可能變大了(malloc)。所以要引用。你可以寫個程式試試,不引用會出錯。

4樓:楚留香_謝曉峰

是的,完全沒有必要使用引用,只需要傳lnode *或者linklist就可以了,函式都沒有改變l的值,也就沒必要用引用。我用**試了,不用引用完全沒有問題

5樓:葉小憐

是的,老實說這本書寫的很不怎麼樣,很多演算法實現的亂七八糟,絲毫不能體現出資料結構和演算法的美,反而會讓初學者感到很難掌握。同樣的一個演算法,如果看一下sedgewick《演算法:c語言實現》上面的,就會發現其實可以用更簡潔,更對稱,更容易理解的方式來實現。

說到你提到的這個問題,我也認為是這樣的,多用引用沒什麼好處,只會增加函式產生更多的有意或無意的***。

請教一下:嚴蔚敏的資料結構是c語言版,是否適用於c++的學習?

6樓:匿名使用者

不一樣的,資料結構講的程式設計用的邏輯,不是程式設計

7樓:流星不死

提高的是一種思想

資料結構和演算法 是不分語言的一種思想

c和c++的語法很類似

幫助自然很大

8樓:

這麼和你說吧,基本上你可以大膽的挪用,嚴蔚敏資料結構裡面雖然是c語言版,但我們在相關的連結串列,雜湊表,十字連結串列以及~~~~~~那些函式的具體實現,很多都採用了c++裡才有的引用來實現,這就導致我們後期大的函式編寫都是建立cpp而不是c,如果樓主還不放心,那我就說句「完全通用」,因為畢竟資料結構只是一種思想,一種結構型別,而c++與c只是程式語言,而且他們對於那些資料結構的實現的語法也是完全通用的。

嚴蔚敏的資料結構c語言版與資料結構有區別嗎?

9樓:沉默a已久

神馬bai

叫 資料結構

資料結構是計算du機儲存、組織zhi資料的方式。資料結構是dao指相互之間專

存在一種或多種特定關係的屬資料元素的集合。通常情況下,精心選擇的資料結構可以帶來更高的執行或者儲存效率。資料結構往往同高效的檢索演算法和索引技術有關。

資料結構 只是講程式的實現方式。至於你用 神馬語言實現 並不重要,c語言版 只是說 他裡面的舉例用的 是c語言來實現的

這個選擇什麼版的 看你自己的需要了。。

你可以用c寫一個佇列 或則 堆疊 也可以用其他語言來完成。這是2個不同的概念。

10樓:b墨i水r心

有啊,當然有了,要不為什麼要出兩本書呢?是吧。

關於資料結構(嚴蔚敏)c語言版演算法2.7的問題

11樓:矽谷的另一面

依**行講述,不含說明文字

程式真是無比其妙,嚴謹性不言而喻

12樓:傻瓜o半仙

。。你給點電子版的,懶得去翻書

資料結構C語言版怎麼學啊資料結構和C語言資料結構有什麼區別

資料結構這門課,主要講了2個問題 第一個就是在程式中如何組織資料,第二個就是常用演算法專。總之,這門課屬的意義在於講解了程式設計時的思想,這些思想是跨越語言的。學習這門課,沒什麼捷徑,就是讀 然後用你會的任何一種程式語言實現它。當把書中的 讀懂80 的時候,你就會發現你的程式設計水平有很大的提高。首...

c語言與演算法和資料結構的關係,C語言與演算法和資料結構的關係

資料結構的主要作用是幫助你提升自己的程式設計思維!使你編寫程式的時候有一個好的思維和框架!使你寫的 和程式有一個好的框架!資料結構研究的是資料的邏輯結構 儲存結構 物理結構 和資料的運算.其中的資料運算就是指演算法 演算法只是具體的實現步驟的指令集合!但是演算法也是資料結構最重要的一部份!設計一個好...

資料結構c語言版和c版有什麼區別嗎

你熟悉c語言,就用c語言版的,反之就用c 版的,兩者沒什麼區別,就是語法稍微有些區別,但由於c 相容c,所以如果不用類的話,兩者幾乎一樣。你的關注點完全錯誤的 學資料結構要學他的思想 然後自己動手寫 測試 原理一樣,語法標準不同,你還是用c 吧 原理一樣,你學的什麼就選什麼拉!c語言資料結構演算法和...