STL
各种容器
ToroMr.liu
数学专业,毕业做开发,java,python,K8S,VUE
展开
-
STL之string
元素访问at:访问指定字符,有边界检查operator[]:访问指定字符front:访问首字符back:访问最后的字符data:返回指向字符串首字符的指针c_str:返回字符串的不可修改的 C 字符数组版本operator basic_string_view:返回到整个字符串的不可修改的 basic_string_view迭代器begin,cbegin:返回指向起始的迭代器end,cend:返回指向末尾的迭代器rbegin,crbegin:返回指向起始的逆向迭代器rend,cren.原创 2021-12-08 10:18:25 · 93 阅读 · 0 评论 -
STL之队列queue
std::queue 类是容器适配器,它给予程序员队列的功能——尤其是 FIFO (先进先出)数据结构。类模板表现为底层容器的包装器——只提供特定的函数集合。 queue 在底层容器尾端推入元素,从首端弹出元素。元素访问front:访问第一个元素back:访问最后一个元素容量empty:检查底层的容器是否为空size:返回容纳的元素数修改器push:向队列尾部插入元素emplace:于尾部原位构造元素pop:删除第一个元素swap:交换内容;将队列的内容与另一个队列的内容交换原创 2021-11-14 20:25:07 · 1672 阅读 · 0 评论 -
STL之vector容器
vector 的存储是自动管理的,按需扩张收缩。 vector 通常占用多于静态数组的空间,因为要分配更多内存以管理将来的增长。 vector 所用的方式不在每次插入元素时,而只在额外内存耗尽时重分配。分配的内存总量可用 capacity() 函数查询。额外内存可通过对 shrink_to_fit() 的调用返回给系统。重分配通常是性能上有开销的操作。若元素数量已知,则 reserve() 函数可用于消除重分配。vector 上的常见操作复杂度(效率)如下: 随机访问——常数 O(1)原创 2021-11-26 11:17:37 · 97 阅读 · 0 评论 -
STL之set容器
std::set是关联容器,含有 Key类型对象的已排序集。用比较函数 Compare进行排序。搜索、移除和插入拥有对数复杂度。 set 通常以红黑树实现。 在每个标准库使用比骄(Compare) 概念的场所,用等价关系确定唯一性。不精确地说,若二个对象a与b相互间既不比较大于亦不比较小于:!comp(a,b)&&!comp(b,a),则认为它们等价。std::set满足容器(Container)、具分配器容器(AllocatorAwareContainer)...原创 2021-11-16 20:42:59 · 305 阅读 · 0 评论 -
STL之stack栈
std::stack 类是容器适配器,它给予程序员栈的功能——特别是 FILO (先进后出)数据结构。该类模板表现为底层容器的包装器——只提供特定函数集合。栈从被称作栈顶的容器尾部推弹元素。元素访问top:访问栈顶元素容量empty:检查底层的容器是否为空size:返回容纳的元素数修改器push:向栈顶插入元素emplace:于顶原位构造元素pop:删除栈顶的元素swap:交换内容#include <bits/stdc++.h>using namespace原创 2021-11-26 11:16:06 · 566 阅读 · 0 评论 -
STL之双端队列deque
大学后参加了一些算法比赛,但实力很差,没有获得很高的名次,最好的名次是蓝桥杯国赛三等奖。也发现好多和我一样对STL不太熟悉的伙伴,为此,我整理了一些算法比赛中常用的STL函数。后面会陆续添加相关知识。`std::deque` ( double-ended queue ,双端队列)是有下标顺序容器,它允许在其首尾两段快速插入及删除。另外,在 deque 任一端插入或删除不会非法化指向其余元素的指针或引用。元素访问at:访问指定的元素,同时进行越界检查operator[]:访问指定的元素fron原创 2021-11-14 20:18:52 · 1216 阅读 · 0 评论