unity 資料結構

2021-08-29 03:04:36 字數 1416 閱讀 8214

1.陣列

特點1.陣列是一塊連續的記憶體空間,以下標來描述空間的位置。下標從0開始,最大下標為陣列長度-1

2.陣列的元素都是變數,變數的型別為定義陣列時的型別。

3.陣列建立後會對每個元素進行初始化。

4.陣列建立後,不能改變。

優點: 

1、按照索引查詢元素速度快 

2、能儲存大量資料 

3、按照索引遍歷陣列方便

缺點: 

1、根據內容查詢元素速度慢 

2、陣列的大小一經確定不能改變。 

3、陣列只能儲存一種型別的資料 

4、增加、刪除元素效率慢 

優化刪除慢的問題:

將需要刪除的index與lastindex交換刪除末尾

2.泛型陣列

優點1.即確保了型別安全。

2.也取消了裝箱和拆箱的操作。

3.它融合了array可以快速訪問的優點以及arraylist長度可以靈活變化的優點。

缺點在效能上不如陣列快。

3.字典

特點字典是型別安全的

缺點空間換時間,通過更多的記憶體開銷來滿足我們對速度的追求

4.arraylist

優點

1.不必在宣告arraylist時指定它的長度,這是由於arraylist物件的長度是按照其中儲存的資料來動態增長與縮減的。

2.arraylist可以儲存不同型別的元素。這是由於arraylist會把它的元素都當做object來處理。因而,加入不同型別的元素是允許的。

缺點1.arraylist不是型別安全的。因為把不同的型別都當做object來做處理,很有可能會在使用arraylist時發生型別不匹配的情況。

2.如上文所訴,陣列儲存值型別時並未發生裝箱,但是arraylist由於把所有型別都當做了object,所以不可避免的當插入值型別時會發生裝箱操作,在索引取值時會發生拆箱操作。

注:裝箱 (boxing):就是值型別例項到物件的轉換。拆箱:就是將引用型別轉換為值型別

裝箱時,生成的是全新的引用物件,這會有時間損耗,也就是造成效率降低。

Unity(二) c 常用資料結構解析回顧

最近做完專案後,對基礎的常用資料結構進行一下回顧,往下挖掘一下。一 陣列 之所以把陣列單獨提出來想,是想把他們進行比較,畢竟陣列的時間關係也涉及到了他的優化改進。陣列當仁不讓是最基礎的結構了。c 裡按時間線是array arraylist list。但arraylist應該是裡面使用率最低的了,原因...

資料結構 資料結構緒論

資料結構是相互間存在一種或多種特定關係的資料元素的集合。程式設計 資料結構 演算法 資料結構是一門研究非數值計算的程式設計問題中的操作物件,以及他們之間的關係和操作等相關問題的學科。資料元素是組成資料的 有一定意義的基本單位,是計算機中通常作為整體處理,也被稱為記錄。乙個資料元素可以由若干個資料項組...

資料結構 資料結構演算法

分治法 對於乙個規模為n的問題,若該問題可以容易地解決 比如說規模n較小 則直接解決 否則將其分解為k個規模較小的子問題,這些子問題互相獨立且與原問題形式相同,遞迴地解這些子問題,然後將各子問題的解合併得到原問題的解。動態規劃法 這種演算法也用到了分治思想,它的做法是將問題例項分解為更小的 相似的子...