vector和list区别
vector | list | |
---|---|---|
vector相当于数组 | list相当于(双向)链表 | |
vector随机访问速度快 | 不能进行随机访问,即不支持下标索引 | |
在内部插入删除效率低 | 在内部插入删除操作方便 |
stack,queue和deque区别
stack(堆栈) | queue(队列) | deque(双端队列) | |
---|---|---|---|
存储结构 | 顺序和链式 | 顺序和链式 | |
只能在表的一端操作(后进先出) | 只能在表的前端删除,尾端插入(先进先出) | 可以在两端进行删除插入 |
map和set区别
map | set | |
---|---|---|
相同 | 以红黑树作为底层容器 | 以红黑树作为底层容器 |
所有元素通过键进行自动排序 | 所有元素会被自动排序 | |
区别 | 元素以key+value的形式存在,不允许**键(key)**重复,但是value可以重复 | 元素只有key,没有value,不允许元素重复 |
Set和Vector的区别在于Set不包含重复的数据。
Set和Map的区别在于Set只含有Key,而Map有一个Key和Key所对应的Value两个元素。