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