头文件#include<stack>
命名 stack<data_type>name
输入 name.push(变量)
弹出 name.pop ();(顶端数据)
name.size()(变量大小)
name.empty() (返回栈内是否为空,是,返回值是1,不是,返回值是0)
头文件#include<queue>
与栈不同之处在于 它第一进第一个出 体现在
s.front() 输出输入的第一个数
s.back() 输出输入的最后一个数
头文件#include<vector>
数据排列方式与queue相似 先写进去的是front,后来的是back,其它操作同上。
综合头文件#include<bits/stdc++.h>
定义结构体:
struct name
{
data_type 变量;
}
重载运算符:
bool cmp(name a,name b )
{
return a^O^b;
}
接下来排序得加个cmp。
lower_bound(begin,end,value)
返回第一个value的位置
upper_bound(begin,end,value)
返回最后一个value的下一个位置
set 和 multiset
元素自动排序 后者元素可重复出现
头文件:#include<set>
定义:set<data_type>name
在结构体中常用重载小于号的方式进行排序
简单应用:
s.insert(elem)
s.erase(elem)移除相同元素,返回移除个数
s.erase(pos)移除对应位置的元素,无返回值
迭代器的使用:
举例:multiset <int>::iterator pos;
m.empty()返回值是否为空
优先队列(priority_queue)
头文件#include<queue>
定义:priority_queue<data_type>priority_name
各种操作像上述应用
STL (标准模板库)简单应用 堆栈 (stack),队列(queue),向量,动态数组(vector),upper and lower bound,map(映射)和multimap
最新推荐文章于 2022-09-30 22:28:19 发布