STL容器
STL容器
qiuqiuyaq
这个作者很懒,什么都没留下…
展开
-
c++ STL容器 --- 元组tuple
#include <tuple>#include <iostream>using namespace std;void testTuple(){ //把任何类型的一系列数据当做一组处理 tuple<string, int, int, string> mmInfo = {"MM",18,1001,"123445"}; tuple<double, double, double> mmscore = make_tuple(98, 98, 88); .原创 2022-05-17 18:37:36 · 602 阅读 · 0 评论 -
c++ STL容器 --- 列表initializer_list
包含头文件<initializer_list>在标准库中的容器可以直接用等号的方式初始化容器→ 直接用等号赋值 { }列表就是一个 { } 数据一般情况下,如果想采用 { } 的方式初始化,类当中必须要有与之相匹配的参数的构造函数提供了一个构造函数,用 initializer_list 当做构造函数的参数,就可以实现我们想要的效果(有几个参数都可以)initializer_list 主要是用在构造函数当中,可以忽略参数的个数去做初始化(两个、三个、多个. . .)#原创 2022-05-17 11:35:59 · 593 阅读 · 0 评论 -
c++ STL容器 --- 单映射map、多重映射multimap
包含头文件<map>映射代表的是一种关系,有点类似哈希结构(数据的一个抽象地址和这个元素的一个关系)也可以把它叫做关联式容器map<int, string> mapData; //创建一个map容器map 里面存储的数据是一个数对类型在 c++ 当中有一个数对类型的结构体,pair 类型:两种类型的模板类,把两个类型强制关联在一起,第一个 first,第二个 second,要用两个类型去做实例化#include <map>#inclu.原创 2022-05-17 07:49:37 · 801 阅读 · 0 评论 -
c++ STL容器 --- bitset容器
包含头文件<bitset>用于存储、处理二进制注意构造方式,只有二进制的长度,代表有多少位,不需要传类型bitset 类 | Microsoft Docs#include <iostream>#include <bitset>using namespace std;int main() { // 8代表多少个二进制位-> 用string构造-> 如果传入一个整数会有问题 bitset<8> bData("..原创 2022-05-16 17:05:23 · 202 阅读 · 0 评论 -
c++ STL容器 --- 单集合set、多重集合multiset
包含头文件<set>一个存储数据的容器,这个容器有一些特性set<int> setData = { 1,2,3,4,5,6 }; //创建一个集合单集合 数据自带排序(默认从小到大)数据唯一性(没有重复:把数组里面的元素装到 set 集合中会自动去重)#include <set>#include <iostream>#include <ctime>using namespace std;void testS原创 2022-05-16 15:57:07 · 366 阅读 · 0 评论 -
c++ STL容器 --- 优先队列priority_queue
包含头文件<queue>priority_queue<int, vector<int>, greater<int>> pqDataG; //创建一个优先队列需要一个中间容器充当优先队列的容量优先队列,是按照数据的优先权出队,VIP服务出队和普通队列操作一样默认方式从大到小出队哈夫曼树的构建:数据结构 --- C语言实现哈夫曼树_小雪菜本菜的博客-CSDN博客_c语言生成哈夫曼树#include <iostream&g原创 2022-05-15 11:25:55 · 250 阅读 · 0 评论 -
c++ STL容器 --- 双向队列deque
包含头文件<deque>deque<int> deData; //创建一个双向队列双向队列可以从头到尾也可以从尾到头、函数与 list 类似:c++ STL容器 --- 双向链表list_小雪菜本菜的博客-CSDN博客_c++ stl 双向链表#include <deque>#include <iostream>#include <string>using namespace std;//从头部出来void pop.原创 2022-05-15 10:16:54 · 336 阅读 · 0 评论 -
c++ STL容器 --- 普通队列queue
包含头文件<queue>queue<int> qData; //创建一个队列队列的处理函数、操作和栈基本一样先到先服务,先放入的数据先拿出来#include <queue>#include <iostream>#include <string>using namespace std;//不影响原容器void pop_queue(queue<int> qData) { while (!qData..原创 2022-05-15 09:59:34 · 201 阅读 · 0 评论 -
c++ STL容器 --- 栈stack
包含头文件<stack>stack<int> intStack; ////创建一个栈 特定的容器处理特定的问题---栈存数据,取数据的方式固定---先进后出---穿脱原则---穿在里面的最后脱 栈的内存会自动增加,不需要考虑内存 寻路算法中常用 没有提供指定位置删除、插入这样的接口 没有迭代器,这个容器可以当作适配器 void testStack() { //1 2 3 插入顺序 //3 2 1 出栈顺序 /.原创 2021-12-30 02:49:08 · 424 阅读 · 1 评论 -
c++ STL容器 --- 双向链表list
包含头文件<list>list<int> iNum; //创建一个list对象,存放整型数据 模板类型:存储数据类型:int 自己写链表需要写释放内存,对于标准库的list内存不需要你去处理,最后会自动释放(便捷) 用到链表的地方,都可以使用list去替换 处理基本数据类型插入void testList() { list<string> strNum; strNum.push_back("string1")..原创 2021-12-29 02:40:49 · 1752 阅读 · 0 评论 -
c++ STL容器 array 与 vector 嵌套
array与array嵌套等效创建一个二维数组 int array[4][3],array里面存的还是array.存的是这样的数据类型array<int, 3>,有4个一样的void testArrayVsArray() { array<array<int, 3>, 4> arrData; //int arrData[4][3] for (int i = 0; i < 4; i++) //与二维数组一样,循环嵌套去用即可(4....原创 2021-12-21 12:40:08 · 2087 阅读 · 0 评论 -
c++ STL容器 --- 动态数组vector
包含头文件<vector>vector<int> vecData; 模板类型:存储数据类型(数组的类型):int 不带长度/带长度的创建方式、带初始化的创建方式 处理基本数据类型不带长度的创建方式//辅助函数:遍历容器template <class _Ty>void printVector(vector<_Ty>& temp) { for (auto v : temp) { cout <<.原创 2021-12-21 11:07:38 · 376 阅读 · 0 评论 -
c++ STL容器 --- 定长数组array
定长数组array包含头文件#include<array>和一维数组一样,只是它是一个模版类 存储数据的类型(数组的类型):int 数组长度:3 用模板的时候用的都是对象,而不是new一个对象--->有效管理内存,创建对象,能自动释放内存#include<array>using namespace std;//size_t unsigned int template <class _Ty, size_t size>......原创 2021-12-18 18:43:09 · 2900 阅读 · 1 评论