C++list map vector set string
2020-04-27 07:18
531 查看
文章目录
介绍
- List封装了链表,Vector封装了数组, list和vector得最主要的区别在于vector使用连续内存存储的,他支持[]运算符,而list是以链表形式实现的,不支持[]。
- Vector对于随机访问的速度很快,但是对于插入尤其是在头部插入元素速度很慢,在尾部插入速度很快。List对于随机访问速度慢得多,因为可能要遍历整个链表才能做到,但是对于插入就快的多了,不需要拷贝和移动数据,只需要改变指针的指向就可以了。另外对于新添加的元素,Vector有一套算法,而List可以任意加入。
- Map,Set属于标准关联容器,使用了非常高效的平衡检索二叉树:红黑树,他的插入删除效率比其他序列容器高是因为不需要做内存拷贝和内存移动,而直接替换指向节点的指针即可。
- Set和Vector的区别在于Set不包含重复的数据,且都是排好序的。Set和Map的区别在于Set只含有Key,而Map有一个Key和Key所对应的Value两个元素。
- Map和Hash_Map的区别是Hash_Map使用了Hash算法来加快查找过程,但是需要更多的内存来存放这些Hash桶元素,因此可以算得上是采用空间来换取时间策略。
- 可以将vector当作是一个特殊的栈,可以从栈底遍历到栈顶。
- string,存放字符的容器,可像vector一样任意查找
常用函数
set常用函数:
set<int> s 定义一个set容器 类型为int型 s.begin() 返回指向第一个元素的迭代器 s.clear() 清除所有元素 s.count() 返回bool型,有返回1,无返回0 s.empty() 如果集合为空,返回true s.end() 返回指向最后一个元素之后的迭代器,不是最后一个元素 s.erase() 删除集合中的元素 s.find() 返回一个指向被查找到元素的迭代器,如果没找到则返回end() s.insert() 在集合中插入元素 s.size() 集合中元素的数目 s.swap() 交换两个集合变量 遍历set set <int> a; for ( set<int>::iterator it=a.begin(); it!=a.end(); it++ ) { cout << *it << endl; }
vector常用函数:size(),push_back(),pop_back()
string常用函数:length(),erase(),append()
string &erase(int pos = 0, int n = npos);//删除pos开始的n个字符,返回修改后的字符串
未完待续。。。
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 在STL中基本容器有: string、vector、list、deque、set、map
- C++各个容器比较(vector,deque,list,set,map,queue,stack)
- c++ list, vector, map, set 区别与用法比较
- C++中vector, list, deque, set, map详解
- c++ stl 使用汇总(string,vector,map,set)
- STL中: string、vector、list、deque、set、map 的区别
- STL中: string、vector、list、deque、set、map 的区别
- STL 基本容器 : string、vector、list、deque、set、map 的区别
- map,set,vector,string笔记整理(C++)
- C++ STL容器的使用方法(vector、queue、list、set、map)
- c++ list, vector, map, set 区别与用法比较
- STL基本容器: string、vector、list、deque、set、map
- C++ STL基本容器string,vector,list,deque,map..[转]
- C++中 vector、list、deque、set、map的底层实现
- STL中: string、vector、list、deque、set、map 的区别(转)
- C++各个容器比较(vector,deque,list,set,map,queue,stack)
- c++ set map list vector deque区别
- C++ STL 容器(vector,list,deque,stack,queue,priority_queue,set,map)
- c++ list, vector, map, set 区别与用法比较
- c++ list, vector, map, set 区别与用法比较