1樓:匿名使用者
第一問:其實 ,這是一種好的習慣,你想一想,雖然gete函式沒有改變l的內容,但是,加入他只有一個指標的話,假如是一個多執行緒的程式,在get的同時,l的內容改變了,那麼程式就可能出錯,好的習慣往往是大型軟體健壯性和擴充套件性的關鍵。另外也是出於一致性的考慮。
第二問:引用雖好,卻不是萬能的,在一些特定情況下,往往有特殊的要求。
2樓:
有些要求實體發生變化的,必須用引用,或者用指標(實體本身是指標的,用指標的指標,依次類推)。
對於實體不發生變化的,用引用或直接複製,都能達到預期的效果。但是用引用的話,可以節省一點空間(引用不會開闢新的空間,複製需要一個臨時物件)。
但是引用會修改實體,這時可以加上 【const 關鍵字修飾】引用,就能強制不能修改實體。
3樓:匿名使用者
用不用引用都是可以的,計算機有一個特點,就是結果只要對了,那麼你的一切過程都可以忽略,至於用什麼樣的傳遞方式,只要對你的資料沒有影響就行。
用什麼傳遞看你是怎麼使用空間的,是複製過來做副本使用的(即傳值),還是共享過來使用的(即引用)。這個沒有限定,你覺得那個好就用那個。
關於資料結構幾個簡單的問題
4樓:匿名使用者
status,elemtype都是程式設計師自己定義的型別,和模板有一定類似的地方
比如:c語言裡,用typedef char elemtype.就表示凡是用到elemtype的地方都表char型別,當然status也有相同的用法,它是為了通用性,比如還可以定義為:
typedef int elemtype.或者表示自己定義的資料型別,比如結構體型別等等!
至於l.length.你得注意下,這裡你本身就是在定義連結串列的資料型別,連結串列的資料型別中你可以直接引用l.
length.每個元素的屬性,如果你定義了n個連結串列,你豈不是還得定義n個變數來儲存每個連結串列的長度,那是你說的簡單??
怎麼學資料結構,那麼多**,和函式引數
5樓:張正源
學資料結構重要的思想,你單單的看會一個**也不能說明你就會了。我現在大四了,回憶起來就是這樣,掌握思想最重要!
6樓:
那就看你想學習到什麼樣的層次了。
我認為要上機不斷練習,看看它呢是怎麼實現的,搞懂弄通,現在用的都是c語言版本的,而且有上機的書。學起來很容易的,但是要搞通還是要費些時間的。這是計算機專業比較重要的專業課,考研必考科目。
可以想象它的重要性。就是剛學起來比較費勁。習慣就好了。
7樓:匿名使用者
多練吧,我也沒辦法,我也是這樣滴。。
資料結構有關棧的問題
失落de風景 首先要明白棧的特點是先進後出,也就是說出棧的順序和進棧的順序正好相反,第一個進,只能最後一個出。上面的題只是考你棧的這個特點。要說規律,即先看第一個出棧元素,判斷它之前元素的進棧情況。比如a選項,先出的是c元素,說明它是最後一個進的,以因為題目要求a,b,c依次進入一個棧表中,說明,b...
資料結構中的排序問題,急,資料結構 排序問題
排序方法小結 方法比較。綜合比較各種內部排序方法,其效能如下入所示 方法 平均時間 最壞情況 輔助空間 穩定性 特點。插入排序 o n2 o n2 o 1 n 30常用。希爾排序 o o o 1 不常用。起泡排序 o n2 o n2 o 1 初學。快速排序 o nlnn o n2 o n 常用,易惡...
資料結構“時間複雜度”的題目,資料結構 有關時間複雜度題目 求高手!求詳細解釋
麗江旅遊指南網 o表示法首先要弄清楚什麼用它來代表的上限的漸近執行時間的演算法函式g n o g n 代表了一組函式。介紹到演算法書定義 o g n 看到上面也可以忽略不明白,你只需要知道在低階項的漸近積極的作用,在確定上限和下限,可以忽略不計,因為當n大,他們相對來說並不重要,指數最高的專案上腳的...