初学STL3

stack
stack栈,是STL中实现后进后出的容器
#include <stack>
1、stack的定义:
stack<typename> name;
typename可为任意数据类型或容器
2、stack中元素的访问:
只能通过top()来访问栈顶元素

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAcXFfNjY0ODY1MDk=,size_13,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAcXFfNjY0ODY1MDk=,size_19,color_FFFFFF,t_70,g_se,x_16


3、stack常用函数:
(1)push()
push(x)将x入栈
(2)top()
top()获得栈顶元素
(3)pop()
pop()用以弹出栈顶元素
(4)empty()
empty()可以检测stack内是否为空,返回true为空,返回false为非空
(5)size()
size()返回stack内元素的个数
4.常见用途:
实现一些递归,防止程序对栈内存的限制而导致程序运行出错


pair
pair可以看作一个内部有两个元素的结构体,且两个元素类型是可以指定的。
#include <utility>,使用map头文件时,会自动添加utility头文件。
如:struct pair{
    typeName1 first;
    typeName2 second;
};
1、pair的定义:
pair<typeName1,typeName2> name;
分别对应first和second的数据类型,可以为任意基本数据类型或容器
例:pair<string,int> p;
其初始化,只需在后面加上一个小括号,里面填上初始化元素
例:pair<string,int> p("***",1)
临时构建pair
(1)pair<string,int> p("***",1)
(2)用自带的make_pair函数
make_pair("***",1)
2、pair中元素的访问
pair中只有两个元素,按结构体方式访问即可
3、pair常用函数实例
比较操作:可直接使用==、!=、<、<=、>、>=    
比较规则是先以first的大小作为标准,只有当first相等时判别second的大小
4、常见用途
(1)用来代替二元结构体及其构造函数,节省编码时间
(2)map的键值对来进行插入


algorithm头文件常用函数
1、max()、min()和abs()
max(x,y)和min(x,y)返回xy中最大值和最小值
abs(x)返回x的绝对值,x必须是整数,浮点型的绝对值请用math头文件的fabs
2、swap()
swap(x,y)用来交换x和y的值
3、reverse()
reverse(it,it2)可以将数组指针在[it,it2)之间的元素或容器的迭代器在[it,it)范围内的元素进行反转
4、next_permutation()
next_permutation()给出一个序列在全排列中的下一个序列
 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值