
stl用法
stl
重you小垃
这个作者很懒,什么都没留下…
展开
-
stl总览
顺序容器:vector:变长数组;支持随机访问,尾部插删快。deque:双向队列;支持随机访问,头部/尾部删除快,适用于删除后数组中的元素自动前移的情况。list:双向链表;不支持随机访问,任何位置插删都快,适用于经常中间位置插删的情况,然后再拷贝给vector。forward:单向链表array:数组string:字符串容器适配器:stack:栈queue:队列priority_queue:优先队列关联容器:set:map:必须在中间插入:方法1:先用vector的追加,然后原创 2021-09-08 11:12:20 · 145 阅读 · 0 评论 -
vector用法
#include <stdio.h>#include <vector>using namespace std;int main(){ //定义 vector<int> vi; //vector<int> temp(10,0); 10个0 //vector<int> temp(vi); 构造函数赋值 vector<int>::iterator it = vi.begin(); 定义迭代器 //增 fo原创 2020-11-08 19:13:30 · 115 阅读 · 0 评论 -
string 用法
#include <iostream> //赋值只能用cin cout #include <string>using namespace std;int main(){ //定义 string temp, str = "abcdefg"; cin >> str; //遇到空格结束 ////////////////以前的: //拷贝 temp = str; //连接 += = temp += str; //长度 cout <&l原创 2020-11-08 20:36:30 · 142 阅读 · 0 评论 -
deque用法
双端队列int main() { deque<int> dq; dq.push_back(3); // 3 dq.push_back(4); //3 4 dq.push_back(5); // 3 4 5 dq.push_front(6); //6 3 4 5 dq.push_front(7); //7 6 3 4 5 dq.push_front(8); //8 7 6 3 4 5 cout << dq.front() << " " <<原创 2021-11-06 19:17:10 · 103 阅读 · 0 评论 -
list用法
数据结构:双向链表初始化:list<int> lst;list<int> lst(10, 0);list<int> lst(lst2.begin(), lst2.end());list<int> lst(lst2);通用:lst.size()lst.empty()访问:Lst1.front() 返回第一个元素Lst1.back() 返回最后一个元素插入:Lst1.insert() 插入一个元素到list中 //lst.insert原创 2021-12-03 11:45:30 · 528 阅读 · 0 评论 -
stack用法
//栈#include <cstdio>#include <stack>using namespace std;int main(){ stack<int> st; st.push(1); //入栈 int top = st.top(); //获取栈顶元素 printf("%d %d\n", st.size(), top); //栈内元素的个数 st.pop(); //出栈 return 0;} ...原创 2020-11-23 14:57:06 · 216 阅读 · 0 评论 -
queue 用法
#include <cstdio>#include <queue>using namespace std;int main(){ queue<int> q; q.push(1); //入队 q.push(2); q.push(3); printf("%d\n", q.front()); //访问队头 printf("%d\n", q.back()); //访问队尾 printf("%d\n", q.size()); //队中元素的个数 q.原创 2020-11-25 19:59:05 · 174 阅读 · 0 评论 -
priority_queue用法
size() empty()是所有顺序容器都有要求:push_back() pop_back() front()操作,还有随机访问的能力可以使用的顺序容器有:vector deque list 底层实现是基于vector实现。原创 2021-06-23 11:49:06 · 239 阅读 · 0 评论 -
set用法
#include <stdio.h>#include <set>//自动去重,并递增排序 using namespace std;int main(){ //定义 set<int> st; //增 st.insert(10); st.insert(8); st.insert(15); //删 st.erase(st.find(10)); //删除迭代器处的元素 st.erase(st.begin(), st.end()); //删除区原创 2020-11-08 19:34:31 · 273 阅读 · 0 评论 -
pair小工具
#include <iostream>#include <map> #include <string>using namespace std;//pair工具 int main(){ pair<string, int> p; p.first = "haha"; p.second = 10; /* < <= >= > != == 两个pair变量可以比较,比较的规则是先按照first比较,如果first原创 2020-11-09 19:22:36 · 138 阅读 · 0 评论 -
map用法
#include <cstdio> #include <map>//键值对,按照键自动升序 using namespace std;int main(){ //定义 ,增 map<char, int> mp; mp['d'] = 4; mp['a'] = 1; mp['b'] = 2; //删 mp.erase('d'); //直接删除指定键 的键值对 mp.erase(mp.find('a')); //删除迭代器的单个元素 mp原创 2020-11-09 18:52:26 · 222 阅读 · 0 评论 -
algorithm泛型算法
#include <cstdio>#include <vector>#include <algorithm>using namespace std; int main(){ vector<int> vi(10, 1); //容器赋值 左开右闭 fill(vi.begin(), vi.begin() + 3, 10); //两个数的最大值,最小值,绝对值 printf("%d\n", max(10, 2)); prin原创 2020-11-09 19:33:59 · 167 阅读 · 0 评论