STL
常用的STL有
stack,queue,map,vector
这些都是封装好的容器,容器,顾名思义,可以存放任一类型,包括结构体类型。
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 #include<bits/stdc++.h> 2 using namespace std; 3 struct Node 4 { 5 int id; 6 int val; 7 Node(int id,int val):id(id),val(val){} 8 }; 9 stack<Node >_stack; 10 11 int main() 12 { 13 //调用栈顶的id元素 14 _stack.push(Node(1,2)); 15 int id=_stack.top().id; 16 cout<<id<<endl; 17 }
最常用的是vector容器,在图论中,当顶点数较多时,以至于数组开不下,或者是顶点多,边数少,用数组会MLE,这时就可以选择用vector容器,非常好用的一个容器。
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 #include<bits/stdc++.h> 2 using namespace std; 3 #define pb push_back 4 const int maxV=1e5+50;//最大的顶点数 5 struct Node 6 { 7 int to; 8 int weight; 9 Node(int to,int weight):to(to),weight(weight){} 10 }; 11 vector<Node >G[maxV]; 12 void addEdge(int u,int v,int w)//加边操作 13 { 14 G[u].pb(Node(v,w));//加入一条 u -> v 的边,且权重为 w 15 }
其实,用嵌套map也可以高效的存储图中的边,且占用的内存也比数组小。
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 #include<bits/stdc++.h> 2 using namespace std; 3 4 map<int ,map<int ,int > >G; 5 6 int main() 7 { 8 G.clear(); 9 for(int i=1;i <= 5;++i) 10 { 11 int u,v,w; 12 scanf("%d%d%d",&u,&v,&w); 13 G[u][v]=w;//有向图 u - > v , 权重为 w 14 } 15 //嵌套map的遍历 16 //遍历谁就用谁的迭代器 17 map<int ,map<int ,int > >::iterator it; 18 for(it=G.begin();it != G.end();++it) 19 { 20 int u=it->first; 21 for(map<int ,int >::iterator iter=G[u].begin();iter != G[u].end();++iter) 22 { 23 int v=iter->first; 24 int w=iter->second; 25 cout<<u<<"->"<<v<<' '<<w<<endl;//u->v 权重为 w 26 } 27 } 28 return 0; 29 }
图的存储方式还有一种比较好用的数据结构,那就是链式前向星。
题目一览表 | 来源 | 考察知识点 | 完成时间 |
A 2559 Largest Rectangle in a Histogram | poj | 栈 | 2018.10.12 |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· 手把手教你更优雅的享受 DeepSeek
· AI工具推荐:领先的开源 AI 代码助手——Continue
· 探秘Transformer系列之(2)---总体架构
· V-Control:一个基于 .NET MAUI 的开箱即用的UI组件库
· 乌龟冬眠箱湿度监控系统和AI辅助建议功能的实现