1. 程式人生 > >程式語言中的資料結構

程式語言中的資料結構

計算機程式語言的資料結構

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