C++STL库常用库函数总结 C++STL库常用库函数总结 C++STL库常用库函数总结 C++STL库常用库函数总结 C++STL库常用库函数总结 C++STL库常用库函数总结 C++STL库常用库函数总结 C++STL库常用库函数总结 C++STL库常用库函数总结 C++STL库常用库函数总结 C++STL库常用库函数总结 C++STL库常用库函数总结 C++STL库常用库函数总结 C++STL库常用库函数总结 C++STL库常用库函数总结 C++STL库常用库函数总结 C++STL库常用库函数总结 C++STL库常用库函数总结 C++STL库常用库函数总结 C++STL库常用库函数总结 C++STL库常用库函数总结 C++STL库常用库函数总结 C++STL库常用库函数总结 C++STL库常用库函数总结 C++STL库常用库函数总结 C++STL库常用库函数总结 C++STL库常用库函数总结 C++STL库常用库函数总结 C++STL库常用库函数总结 C++STL库常用库函数总结 C++STL库常用库函数总结 C++STL库常用库函数总结 C++STL库常用库函数总结 C++ST C++ Standard Template Library (STL) 是C++编程语言中不可或缺的一部分,它提供了一系列高效、易用的数据结构和算法。以下是对C++ STL库中常用库函数的详细总结: 1. **vector** - `size()`:返回向量中元素的数量。 - `empty()`:检查向量是否为空。 - `clear()`:清空向量的所有元素。 - `front()` / `back()`:访问第一个和最后一个元素。 - `push_back()` / `pop_back()`:在向量末尾添加或移除元素。 - `begin()` / `end()`:获取指向向量首元素和尾元素之后位置的迭代器。 - `[]`:通过索引访问元素,支持比较运算。 2. **pair** - `first`:存储第一个元素。 - `second`:存储第二个元素。 - 支持比较运算,首先根据`first`比较,若相等则根据`second`比较。 3. **string** - `size()` / `length()`:返回字符串的长度。 - `empty()`:检查字符串是否为空。 - `clear()`:清空字符串。 - `substr()`:提取子字符串。 - `c_str()`:返回字符串的C风格字符数组指针。 4. **queue** - `size()`:返回队列中的元素数量。 - `empty()`:检查队列是否为空。 - `push()`:将元素添加到队尾。 - `front()`:获取队头元素。 - `back()`:获取队尾元素。 - `pop()`:移除队头元素。 5. **priority_queue** - 默认是大根堆,`push()` 插入元素,`top()` 获取最大元素,`pop()` 移除最大元素。 - 若要创建小根堆,可以这样定义:`priority_queue<int, vector<int>, greater<int>> q;` 6. **stack** - `size()`:返回栈中元素的数量。 - `empty()`:检查栈是否为空。 - `push()`:将元素压入栈顶。 - `top()`:获取栈顶元素。 - `pop()`:移除栈顶元素。 7. **deque** - 双端队列,允许在两端进行插入和删除操作,功能与vector相似但效率更高。 - 提供了与vector相同的操作,如`size()`, `empty()`, `clear()`, `front()`, `back()`, `push_back()`, `pop_back()`, `push_front()`, `pop_front()`以及`begin()`和`end()`。 8. **set, multiset, map, multimap** - 基于红黑树实现,保持元素有序。 - 支持的操作包括:`size()`, `empty()`, `clear()`, `begin()`和`end()`,以及`++`和`--`。 - `insert()`,`find()`,`count()`,`erase()`,`lower_bound()`和`upper_bound()`等操作,其中`lower_bound()`和`upper_bound()`用于范围查找。 9. **unordered_set, unordered_multiset, unordered_map, unordered_multimap** - 基于哈希表,提供O(1)的平均插入、查找和删除操作。 - 不支持`lower_bound()`和`upper_bound()`,迭代器的`++`和`--`可能不连续。 10. **bitset** - 用于存储和操作位的容器,如`bitset<10000> s`。 - 支持位操作:`~`, `&`, `|`, `^`,位移动`>>`和`<<`,比较操作符`==`, `!=`,以及访问单个位`[]`。 - `count()`:计算1的个数。 这些库函数极大地简化了C++程序员处理数据结构和算法的过程,提供了高效且易于使用的工具,是C++编程中的核心部分。理解和熟练掌握它们,能够显著提高代码质量和效率。
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/release/download_crawler_static/88018314/bg1.jpg)
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/30e4a523f5ee426e9a5153d5efab3691_m0_51233386.jpg!1)
- 粉丝: 1593
- 资源: 113
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)