每次忘记都去查,真难啊
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<<@H_502_50@s.begin() @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<<@H_502_50@s.size() @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的常用用法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)