程式語言中的資料結構
計算機程式語言的資料結構
C++的10種基本容器(是對演算法導論中的標準實現)
資料型別 |
儲存型別 |
容器名稱 |
說明 |
單值 |
陣列 |
vector<T> |
|
連結串列 |
list<T> |
||
樹 |
set<T> ,multiset<T> |
||
雜湊表 |
unordered_set<T>, unordered_multiset<T> |
||
鍵值對 |
陣列 |
因為語言的固有特點Java,C#有項,C++沒有 |
|
連結串列 |
-- |
||
樹 |
map<K,V>,multimap<K,V> |
||
雜湊表 |
unordered_map<K,V>, unordered_multimap<K,V> |
C#中的9大容器
C#物件的特殊性(總是相當於C++中的new),決定了與C++表示方式的不同
資料型別 |
儲存型別 |
容器名稱 |
說明 |
單值 |
陣列 |
List<T>,Stack<T>,Queue<T> |
|
連結串列 |
LinkedList<T> |
||
樹 |
SortedSet<T> |
||
雜湊表 |
HastSet<T> |
||
鍵值對 |
陣列 |
SortedList<K,V> |
|
連結串列 |
用這種方式表示沒有意義上 |
||
樹 |
SortedDictionary<K,V> |
||
雜湊表 |
Dictionary<K,V> |
Java 中12種的容器(都是作為中間語言與C#很大的類似性)
資料型別 |
儲存型別 |
容器名稱 |
說明 |
單值 |
陣列 |
ArrayList<T>,Vector<T>,EnumSet<T> |
|
連結串列 |
LinkedList<T> |
||
樹 |
TreeSet<T> |
||
雜湊表 |
HastSet<T>,linkedHastSet<T> |
||
鍵值對 |
陣列 |
EnumMap |
|
連結串列 |
理由C# |
||
樹 |
TreeMap<K,V> |
||
雜湊表 |
HastMap<K,V>,LinkedHastMap<K,V> HastTable<K,V> |
HastTable<K,V>因為歷史原因 |
Python 中的容器(第三方庫numpy在python 的特殊地位,決定了這個庫的重要性,opencv對python的封裝就用了numpy 當做介面資料)
資料型別 |
容器名稱 |
說明 |
單值 |
[] |
連結串列 |
() |
連結串列 |
|
Numpy,array |
陣列 |
|
鍵值對 |
{} |
等效於java中的HastMap C# 中的Dictionary |