筆記 C 資料結構 1

2021-10-07 23:10:35 字數 3311 閱讀 7115

集合有什麼用?

集合(collection)類是專門用於資料儲存檢索的類。

資料結構:

導言是 計算機儲存、組織、管理資料的方式。

是 指相互之間存在 一種或多種 特定關係的資料元素的集合

第三節:造船術

下一章

從前,有一片大陸(c# 語言系統),

上面(預定義)很多個民族(變數型別),

有int族,float族,string族 等等。

這些民族,都有乙個共同點,

大家修建的房屋(分配記憶體)只能夠住乙個人(容納單個資料)。

大家各自為政,孤獨的生活著,出海打漁也是獨來獨往。

每到日出時分(執行程式),大海上就會出現密密麻麻的小木筏。

int a=1;

//木筏a

int b=2;

//木筏b

int c=3;

//木筏c..

.int z=26;

//木筏z

領主(程式設計師)看著眼花繚亂,

要關注每個人的行動,太費神費力了。

怎麼治理好這片海域(記憶體)呢?

於是領主造出了一艘帆船(資料容器),命名為array(陣列)。

每個民族的人要出海統一坐上這條船,領主只需要關注這一條船就可以了。

int

arr=

newarray[26

];//造大船出海 徹底擺脫小木筏

領主將設計圖分發給每個民族,

這樣一來,海上少了很多小木筏,

取而代之的是幾艘較大的array帆船。

int

arr=

;//int族人,大家都上arr這條帆船

string

arr_str=

;//string族人,你們上arr_str這條船

領主表示很滿意!

好景不長,領主又開始犯難了,

人(資料)是好管理了,但是造船遇到了新問題。

array雖然便於管理,但是每次造的船,都有固定人數上限。

有時候出海人數少,船沒坐滿;

有時候出海人數多,船又坐不下。

當個領主真累啊!

於是領主,又從西方引進了一項新的技術:造船術(集合)。

有了造船術,就不用擔心船的艙室問題了。

造船術能夠根據出海的人數自動建造出相應的容量的船隻。

領主再也不用為安排人員上船的問題而發愁了。

基礎船隻:陣列

陣列: 單桅帆船

第乙個可以管理多個資料

容器

對於系統預定義型別中,都是針對單個資料。

通過陣列,可定義乙個容器,來管理特定數量和型別的

多個資料。

侷限雖說 陣列 是一種非常有用的資料結構 但其存在 嚴重的侷限性!

用陣列管理資料,必須先知道 陣列長度(元素個數)。

然而實際開發中,很多資料往往無法事先知道元素個數。

陣列元素的 資料型別必須相同

應用程式必須通過迴圈索引 來訪問元素

當你看到一堆必須時,你就知道它的侷限性是多麼嚴重!

小結因此,陣列使用並不方便

集合 運應而生。

c#提供了集合更為方便地管理資料。

有了造船術,領主就把造船的任務委託給了造船廠。

一切變得如此的井然有序,既然造船術如此神奇,我們就一起學習一下這項技術吧。

陣列將一堆資料型別相同的資料放入到乙個容器內,

該容器就是陣列:記憶體中開闢的一連串空間。

造船術:模擬理解 (集合就像造船術)

各種船隻設計的統稱,它們 不限定成員種族,

還能在航行過程中 按需擴容 。

術語:集合

簡單的說就是陣列的公升級版。

集合 是通過高度結構化的方式儲存任意物件的類的統稱。

可儲存任意型別長度可變的物件

可將一組類似的型別化物件組合在一起。

他可以動態的對集合的長度(也就是集合內最大元素的個數)進行定義和維護!

優勢:集合不僅能隨意調整大小,

而且對儲存或檢索在其中的物件提供了更為高階的方法。

擴充套件閱讀

集合結構劃分:

泛型集合 using system.collections

非泛型集合 using system.collection.generic

.net framework 的 強型別集合

具有自動執行元素型別驗證的功能

.net framework 引入了 泛型集合或非強型別非泛型集合

使用時要保證元素的型別是集合所需的型別

下一章to top

資料結構(C ) 向量 筆記1

首先解決第乙個問題。直接在原有的物理記憶體空間的基礎上追加空間,不現實。陣列特定的定址方式,物理空間必須連續,我們無法保證,其尾部總是留有足夠的空間供其擴充套件。一種可行的方法是如上圖所示,申請乙個容量足夠大的陣列,並將原來陣列中的資料進行複製,此後便可以插入新元素e而不至於溢位。當然,原陣列所佔的...

資料結構筆記1

資料結構中關於線形表的描述,因為剛開始學也當是對大學未學這門課的補充吧,決定仔細學。沒想到一學還真發現自己程式設計中不少問題。首先對教材的理解上,重新拾起c語言。發現對結構定義和使用上存在盲點。對指象結構的指標既然不知。所以對can通訊 一知半解。現在回想起來有茅塞頓開的感覺。對於c程式設計中涉及到...

資料結構筆記1

資料結構 資料之間相互存在的一種或多種特定的關係的元素的集合 邏輯結構 資料物件中資料元素之間的相互關係 集合結構 線性結構 樹形結構 圖形結構 物理結構 順序儲存結構 特徵 美女來插隊 鏈式儲存結構 對不起,我是警察 抽象資料型別 資料型別 一組性質相同的值的集合及定義在此集合上的一些操作的總稱 ...