以下分别用K
、T
指代泛型参数。
C++ | Java | C# | 特点 | 底层数据结构 |
---|---|---|---|---|
T 变量名[数值] 、array<T,数值> |
T [] |
T [] |
固定大小数组。支持快速随机访问,不能添加和删改元素 | 普通数组 |
vector<T> |
ArrayList<T> |
List<T> |
可变大小数组。支持快速随机访问,在尾部之外的位置插入或删除元素可能很慢 | 数组 |
list<T> |
LinkedList<T> |
LinkedList<T> |
双向链表。只支持双向顺序访问,在任何位置进行插入删除操作都很快 | 链表 |
forward_list<T> |
无 | 无 | 单向链表。只支持单向顺序访问,在任何位置进行插入删除操作都很快 | 链表 |
stack<T> |
Stack<T>(建议使用LinkedList<T>替代Stack<T>) |
Stack<T |