C++ STL
2021/5/7 22:25:54
本文主要是介绍C++ STL,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Sequence constainers(array and linked list)
–vector , deque, list , array
Associative Containers(binary tree)
–set, multiset
–map, multimap
Unordered Containers(hash table)
–unordered set/ multiset
–unordered map/multimap
vector
vector<int> vec(10,0) //创建容量为10的vector,并初始化为0 vector<int> vec = {1,4,8} vector<int> vec2(vec) //copy constructor, vec2: {1,4,8} vec.push_back(4); vec.pop_back(); //移除最后一个元素 vec.size(); //vector元素数量大小 vec.clear(); //清空 //vec.front(); //返回第一个元素 == vec[0] ------------------------------------------------------------------------ vec.erase(vec.begin()); //删除迭代器所指向的向量元素 vec.insert(vec.begin(),100); //把100插入到向量中迭代器所指的位置 ------------------------------------------------------------------------ for(vector<int>::iterator it = vec.begin(); it != vec.end(); it++) cout << *it <<endl; sort(vec.begin(),vec.end()); for(int i : vec) cout << i << endl;
- fast insert/remove at the end: O(1)
- slow insert/remove at the begin or int the middle: O(n)
- slow search: O(n)
deque
deque<int> deq = {3,4,6}; deq.push_front(2); deq.push_back(9);
- fast insert/remove at the begining and the end O(1);
- slow insert/remove in the middle: O(n)
- slow search: O(n)
list
list<int> li = {1,2,3}; li.push_back(6); li.push_front(0);
- fast insert/remove at any place: O(1)
- slow serarch:O(n)
- no random access, no [] operator
这篇关于C++ STL的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-04安装 VPrix Desktop 的系统要求-icode9专业技术文章分享
- 2024-05-01巧用 TiCDC Syncpoint 构建银行实时交易和准实时计算一体化架构
- 2024-05-01银行核心背后的落地工程体系丨Oracle - TiDB 数据迁移详解
- 2024-04-26高性能表格工具VTable总体构成-icode9专业技术文章分享
- 2024-04-16软路由代理问题, tg 无法代理问题-icode9专业技术文章分享
- 2024-04-16程序猿用什么锅-icode9专业技术文章分享
- 2024-04-16自建 NAS 的方案-icode9专业技术文章分享
- 2024-04-14ansible 在远程主机上执行脚本,并传入参数-icode9专业技术文章分享
- 2024-04-14ansible 在远程主机上执行脚本,并传入参数, 加上remote_src: yes 配置-icode9专业技术文章分享
- 2024-04-14ansible 检测远程主机的8080端口,如果关闭,则echo 进程已关闭-icode9专业技术文章分享