#include<iostream>
#include<vector>
#include<stack>
#include<queue>
#include <set>
#include<map>
#include<cstring>
#include<algorithm>
using namespace std;
void use_vector()
{
// 1. 创建一个vector实例,用于存储int
vector<int> a;
// 2. 得到a中元素个数
int sz = a.size();
// 3. 插入一个元素
a.push_back(1);
a.push_back(2);
// 4. 访问刚才插入的元素 a[i] | a.begin() + i
cout << (a[0] == *(a.begin() + 0)) << endl;
// 5. 删除指定下标的元素
a.erase(a.begin() + 0);
// 6. 删除指定范围的元素(左闭右开)
a.erase(a.begin() + 0, a.end());
// 7. 清空所有内容
a.clear();
// 8. 直接将容量修改为5
a.resize(5);
// 9. 是否为空
bool empty = a.empty();
}
void use_stack()
{
// 1. 创建一个栈
stack<int> s;
// 2. 入栈
s.push(1);
s.push(2);
// 3. 出栈
s.pop();
// 4. 获取栈顶元素
int top = s.top();
// 5. 是否为空
bool empty = s.empty();
// 6. 栈中元素个数
int sz = s.size();
}
void use_queue()
{
// 1. 创建队列
queue<int> q;
// 2. 入队
q.push(1);
q.push(3);
// 3. 出队
q.pop();
// 4. 队头
int front = q.front();
// 5. 是否为空
bool empty = q.empty();
// 6. 队列中元素个数
int sz = q.size();
}
void use_priority_queue()
{
// 1. 创建优先级队列(堆)
priority_queue<int> pq;
// 2. 入堆
pq.push(1);
pq.push(2);
pq.push(3);
// 3. 出堆
pq.pop();
// 4. 堆顶元素
int top = pq.top();
// 5. 判空
bool empty = pq.empty();
// 6. 堆中元素个数
int sz = pq.size();
}
void use_set()
{
// 1. 创建一个set(有序)
set<int> s;
// 2. 插入元素
s.insert(1);
s.insert(2);
// 3. 判断是否存在元素1
bool ans = s.count(1);
// 4. 删除元素
s.erase(1);
// 5. 集合内个数
int sz = s.size();
// 6. 是否为空
bool empty = s.empty();
}
void use_multiset()
{
// 1. 创建multiset(允许集合中元素重复)
multiset<int> ms;
// 2. 插入元素
ms.insert(1);
ms.insert(1);
ms.insert(2);
// 3. 获取元素个数
int cnt = ms.count(1);
// 4. 删除元素(会将元素1全部删除)
ms.erase(1);
// 5. 集合内个数
int sz = ms.size();
// 6. 是否为空
bool empty = ms.empty();
}
void use_map()
{
// 1. 创建map
map<string, int> m;
// 2. 插入
m["apple"] = 1;
m["banana"] = 2;
// 3. 查询
m["apple"];
bool find = m.find("apple") != m.end();
// 4. 个数
int sz = m.size();
}
void use_string()
{
// 1. 创建字符串
string s = "hello world";
// 2. 字符串复制
string copy = s;
// 3. 访问
char a = s[0];
// 4. 将string转为字符数组
char c[100];
strcpy(c, s.c_str());
}
void use_pair()
{
// 1. 创建pair
pair<int, int> p;
// 2. 赋值
p = {1, 1};
// 3. 获取
p.first; p.second;
}
void use_sort()
{
int a[5] = {5, 4, 3, 2, 1};
sort(a, a + 5);
}
int main()
{
use_vector();
use_stack();
use_queue();
use_priority_queue();
use_set();
use_multiset();
use_map();
use_pair();
use_string();
use_sort();
return 0;
}
【STL】C++ STL常用方法
最新推荐文章于 2024-07-17 23:01:07 发布