CC++解题常用STL大礼包 含vector,map,set,queue(含优先队列) ,stack的常用用法

CC++解题常用STL大礼包 含vector,map,set,queue(含优先队列) ,stack的常用用法,第1张

概述C/C++解题常用STL大礼包 含vector,map,set,queue(含优先队列) ,stack的常用用法

每次忘记都去查,真难啊

  1 /*  2 C/C++解题常用STL大礼包 含vector,map,set,queue(含优先队列) ,stack的常用用法   3 */  4   5   6     vector常用用法   7   8 //头文件  9 #include<vector>         10   11 常用的初始化方法          12 vector<int> v;            直接定义一个整型元素的向量 且未声明长度,其中int的位置可以换成别的数据类型或者结构体等  13 vector<int> v(@H_502_50@10);        定义了10个整型元素的向量,其中每一个数都没有初值 14 vector<10,@H_502_50@5);    定义了10个整型元素的向量,并且为每个元素赋初值5  15  16 常用的 *** 作 17 v.back();                返回最后一个元素 18 v.front();                返回第一个元素 19 v.clear();                清空v中的元素 20 v.empty();                判断v是否为空,空则返回true,否则false 21 v.push_back(@H_502_50@5);            在最后的一个元素后插入5  22 v.size();                返回v中的元素的个数  23  24 sort(v.begin(),v.end(),cmp);    sort排序,其中cmp部分与结构体等数据类型自定义排序时cmp相同用法  25  26 for(int i = @H_502_50@0; i < v.size(); i++){    遍历  27     printf(@H_502_50@"@H_502_50@%d\n@H_502_50@",v[i]); 28 }  29  30  31     map常用用法  32  33  34 #include<map> 35  36 常用 *** 作  37 map<int,int> m;        初始化  38 m[@H_502_50@1] = @H_502_50@5;                以数组形式插入值  39 m[@H_502_50@2] = @H_502_50@6; 40 m[@H_502_50@1]++;                    可以参与运算  41 m[@H_502_50@2] += @H_502_50@2 42 cout<<m[@H_502_50@1]<<endl; 43 cout<<m[@H_502_50@2]<< 44  45  46     set常用用法 set中的元素自动从小到大排序,且合并重复元素  47  48  49 #include<set> 50  51 常用 *** 作 52 set<int>s;        定义  53 s.insert(x);    插入数值  54 s.clear();         删除set容器中的所有的元素 55 s.empty();        判断set容器是否为空 56  57 int>::iterator it;                 58 for(it = s.begin(); it != s.end(); it++) 59 { 60     printf(@H_502_50@",*it);  61 } 62  63 s.end()没有值 64 cout<<@[email protected]()   @H_502_50@"<<*s.begin()<< 65 lower_bound()--返回指向大于(或等于)某值的第一个元素的迭代器 66 cout<<@H_502_50@lower_buond  3  @H_502_50@"<<*s.lower_bound(@H_502_50@3)<< 67 upper_bound()--返回大于某个值元素的迭代器 68 cout<<@H_502_50@upper_bound  3  @H_502_50@"<<*s.upper_bound(@H_502_50@ 69 find()--返回一个指向被查找到元素的迭代器 70 cout<<@H_502_50@find(3)   @H_502_50@"<<*s.find(@H_502_50@ 71 cout<<@[email protected]()  @H_502_50@"<<s.size()<<endl;  72  73  74     queue常用用法  75  76  77 #include<queue> 78  79 常用 *** 作对于普通队列来说 80 queue<int> q;        定义一个队列 81 q.front();            获取队首元素  82 q.pop();            删除队首元素  83 q.empty();            判断队列是否为空  84 q.push(@H_502_50@5);             向队列中加入元素  85  86 priority_queue  87 priority_queue<int> q;    定义一个优先队列 88 q.top();            获取队列中最大元素(首个) 89 q.pop();            删除最大元素(队首) 90 q.push(x);            向队列中加入元素 91 q.empty();            判断优先队列是否为空  92  93 对于结构体而言,需要重载小于号(优先队列按照从大到小排序)  94 priority_queue<Node> q;  95  96 struct Node{ 97     int a,b; 98     bool operator < (const Node & x) const 99     {100         return a > x.a;101     }102 }; 103 104 105     stack常用用法 106 107 108 #include<stack>109 110 111 stack<int> s;        定义一个栈112 s.pop();            删除栈顶元素113 s.top();            获取栈顶元素114 s.empty();            判断栈是否为空115 s.push(@H_502_50@向栈中压入5

 

总结

以上是内存溢出为你收集整理的C/C++解题常用STL大礼包 含vector,map,set,queue(含优先队列) ,stack的常用用法全部内容,希望文章能够帮你解决C/C++解题常用STL大礼包 含vector,map,set,queue(含优先队列) ,stack的常用用法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1209324.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存