STL
文章平均质量分 96
1994 年,STL 被正式纳入 C++ 标准中。STL 是“Standard Template Library”(标准模板库)的缩写。STL 是 C++ 标准库的一部分,不用单独安装。
TU^
这个作者很懒,什么都没留下…
展开
-
C++STL~~string
std::string 是 C++ 标准库中用于处理字符串的重要类。自动管理内存,无需手动分配和释放,避免了内存泄漏和缓冲区溢出的风险。动态调整字符串的存储空间,以适应字符串内容的变化。支持字符串的连接,通过 + 运算符可以方便地将两个字符串拼接在一起。提供查找、替换、比较等操作,如 find() 、 replace() 、 compare()。可以获取字符串的长度、子串等。在 C++11 及以后的标准中,利用移动语义提高了字符串对象的传递和赋值效率。原创 2024-08-09 22:44:30 · 1870 阅读 · 0 评论 -
C++STL~~vector
vector的应用场景1、数据存储:适用于存储一组同类型的数据,如整数列表、字符串集合等。可以方便地进行添加、删除、访问和修改元素的操作。2、动态数据结构:在需要动态调整大小的场景中非常有用,比如在算法中存储中间结果、处理用户输入的动态数据等。3、与其他库和算法的交互:std::vector可以与 C++ 标准库中的其他组件(如算法、迭代器等)很好地配合使用。许多算法都接受std::vector作为输入或输出容器,使得代码更加简洁和高效。原创 2024-08-28 14:50:59 · 1326 阅读 · 0 评论 -
C++STL~~list
容器特点list是一种双向链表容器,具有以下显著特点:动态性强:可以根据需要随时添加或删除元素,无需担心预先分配固定大小的内存问题。插入和删除高效:在链表的任意位置进行插入和删除操作的时间复杂度为常数级别,这使得它在频繁进行此类操作的场景下表现出色。迭代灵活:提供双向迭代器,可方便地进行正向和反向遍历。但不支持随机访问,访问特定位置的元素相对较慢。适用场景频繁插入和删除:当需要在容器中频繁地进行插入和删除操作时,list是一个很好的选择。原创 2024-08-30 23:21:42 · 1942 阅读 · 0 评论 -
C++STL~~stack&queue
数据结构~~栈和队列栈(Stack)后进先出原则。主要操作包括入栈(push)和出栈(pop)。常用于函数调用、表达式求值、括号匹配等场景。队列(Queue)先进先出原则。主要操作包括入队(enqueue)和出队(dequeue)。常用于任务调度、排队系统、广度优先搜索等。两者都是基本的数据结构,具有不同的特点和适用场景,在程序设计中发挥着重要作用。原创 2024-09-14 15:23:41 · 1460 阅读 · 0 评论 -
C++STL~~deque
deque的特点1.两端高效操作deque的主要优势在于可以在其前端和后端快速地插入和删除元素,时间复杂度均为常量级别。这使得它非常适合那些需要在队列两端频繁进行操作的场景,比如实现栈(在一端进行插入和删除)和队列(在两端分别进行插入和删除)的数据结构。2.动态大小与其他标准容器一样,deque可以根据需要自动调整其大小以容纳更多或更少的元素。它可以在运行时动态地增长或收缩,无需预先确定其最大容量。3.随机访问deque支持随机访问元素,就像数组一样。原创 2024-09-16 00:48:05 · 1127 阅读 · 0 评论 -
C++STL~~priority_queue
应用场景任务调度:可以根据任务的优先级对任务进行排序,高优先级的任务先执行。例如操作系统中的进程调度。图算法:在一些图算法中,如 Dijkstra 最短路径算法,可以使用优先队列来存储未访问的节点,并根据距离源点的距离进行优先级排序。事件处理:处理事件时,可以根据事件的时间戳或其他优先级属性对事件进行排序,以便按照优先级顺序处理事件。优势与注意事项优势:高效的优先级访问,适用于需要快速确定最高优先级元素的场景。基于堆的实现,保证了插入和删除操作的高效性。原创 2024-09-18 19:13:26 · 1096 阅读 · 0 评论 -
C++STL~~set
特点元素唯一性:set中的元素是唯一的,不允许重复。在插入元素时,如果尝试插入已存在的元素,set不会进行任何改变。有序性:默认情况下,set中的元素按照升序排列。可以通过自定义比较函数来改变排序规则。常用操作创建与初始化:创建一个空的存储int类型元素的set。创建并初始化一个包含特定元素的set。插入元素:插入单个元素。插入操作的平均时间复杂度为O(logn),其中n是set中元素的个数。删除元素:删除特定值的元素。通过迭代器删除特定位置的元素。原创 2024-10-03 19:58:33 · 1669 阅读 · 0 评论 -
C++STL~~map
1.性能特点查找效率高基于内部的红黑树实现(在大多数标准库实现中),std::map的查找操作具有对数时间复杂度O(logn),其中是容器中的元素数量。这使得在大规模数据中快速查找键 - 值对成为可能。插入和删除相对高效插入和删除操作也具有对数时间复杂度O(logn),因为在插入或删除元素时,红黑树需要进行平衡调整操作。2.与其他容器的关系和区别与std::vector等顺序容器的区别。原创 2024-10-11 09:25:31 · 1228 阅读 · 0 评论