STL 一些常用的STL函数(持续更新
先说一下 一边要用到算法的东西一般要加#include<algorithm>头文件
一、栈和队列
1 栈 :一种线性表
特点 后进先出
头文件 #include<stack>
声明 stack< 类型 > sk(变量); 注意 这里的类型 如果是char只能是单个字符 如果要存字符串要用string
- sk.push(); 向里存 写在括号里
- sk.pop(); 出栈 把最上面的出栈(即所谓的先进后出 注意 这里的不能赋值给别的变量 括号里也不能写东西
- data = sk.top(); 取出栈顶的元素赋值给一个变量 (不出栈
- size = sk.size(); 栈里元素的个数
- sk.empty(); 判定栈是否为空
注意 要清空栈 没有函数 要自己写
2 队列
特点 先进先出 (类似于排队买饭
头文件 #include<queue>
声明 queue< 类型 > q(变量);
- q.push(); 向里存 写在括号里
- q.pop(); 出队列 把队首的出队列(即所谓的先进先出 注意 这里的不能赋值给别的变量 括号里也不能写东西
- data = q.front(); 获得队列首的元素赋值给一个变量 (不出队列
- q.back(); 获得队尾的值 同q.front();
- size = q.size(); 队列里元素的个数
- q.empty(); 判定队列是否为空
- q.clear(); 清空队列
3 双端队列
特点 两端都可以进出
头文件 #include<deque>
声明 deque< 类型 > dq(变量);
- dq.push_front(); 向双端队列首存 写在括号里
- dq.push_back(); 向双端队列尾存 写在括号里
- dq.pop_front(); 将双端队列的队首元素出双端队列
- dq.pop_back(); 将双端队列的队尾元素出双端队列
- data = dq.front(); 获得双端队列首的元素赋值给一个变量 (不出双端队列
- q.back(); 获得双端队列尾的值 同q.front();
- dq.empty(); 判定双端队列是否为空
- dq.clear(); 清空双端队列
4 优先队列(暂时不会。。
特点 自动按升降序排序
头文件 #include<queue>
priority_queue < 类型 > q; 默认大小排序从大到小
priority_queue < 类型 ,vector <类型>, greater<类型> > q; 默认大小排序从小到大
priority_queue < 类型 ,vector <类型>, less<类型> > q; 默认大小排序 从大到小
- q.push(); 向里存 写在括号里
- q.pop(); 出队列 队首
- data = q.top(); 取出队首的元素赋值给一个变量 (不出栈
- size = q.size(); 队列里元素的个数
- q.empty(); 判定队列是否为空
5 unique( , ) 去重 lower_bound() upper_bound()
6 set
set < 类型 > q; 集合 自带排序 迭代器
q.insert(); 插入
q.erase(); 插入
q.lower_bound();
迭代器 set < 类型 > :: iterator it;
it = q.begain();
for(it = q.begain() ; it ! = q.end() ; it++)
*it
两个查询
it=q.find(); 返回迭代器
q.count(); 返回0或1
运算符重载
6 map
map< 类型,类型 > m; 相当于将离散的数连续的排列在一个数组中 map< , >::iterator it; (*it).first;是键 (*it).second; 是值;
键 值
查找 m.find();
m.count();
注意 if(m[6]!=0) 是可以的 但是 这样写如果没有会往m里存 可能会将原来的数给压下去
map可以是好几个键对应一个值
对于遍历 正着遍历(从小到大) for(it=m.begin();it!=m.end();it++)
反着遍历(从大到小) for(it=m.rbegin();it!=m.rend();it++)
这里的it无论正反好像只支持++, - -的操作不支持+1,-1这样的操作
7 pair 可以重
STL 一些常用的STL函数(持续更新的更多相关文章
- php 常用的好函数(持续更新)
parse_url parse_url $url = "http://www.electrictoolbox.com/php-extract-domain-from-full-url/&qu ...
- iOS:开发常用GitHub开源项目(持续更新)
IOS开发常用GitHub开源项目(持续更新) 数据类 开源库 作者 简介 AFNetworking Mattt 网络请求库 ASIHTTPRequest pokeb 网络请求库 Alamofire ...
- PHP的常用函数 持续更新
PHP的常用函数 前言: 由于害怕遗忘,故在此记录下常用的php函数,以便复习 1 define函数 作用:定义常量 用法 <?php define('a',100); ?> 2 intv ...
- Android开发中常用的库总结(持续更新)
这篇文章用来收集Android开发中常用的库,都是实际使用过的.持续更新... 1.消息提示的小红点 微信,微博消息提示的小红点. 开源库地址:https://github.com/stefanjau ...
- sqlserver常用知识点备忘录(持续更新)
背景 一个项目的开发,离不开数据库的相关操作,表/视图设计,存储过程,触发器等等数据库对象的操作是非常频繁的.有时候,我们会查找系统中类似的代码,然后复制/粘贴进行再进行相应的修改.本文的目的在于归纳 ...
- Android中常用开发工具类—持续更新...
一.自定义ActionBar public class ActionBarTool { public static void setActionBarLayout(Activity act,Conte ...
- 常用linux,DOS命令——持续更新
cd 文件夹名 进入某个文件夹 cd ../ 退出该级目录进入上一级 cd ../../ 退出该级目录进入上上级 cd ../../demo 退出该级目录进入上上级的目录 d: 回车 进入d盘 ls ...
- STL的常用用法、函数汇总(不定时更新)
隶书文字为原创. 1.vector 在c++中,vector是一个十分有用的容器,下面对这个容器做一下总结. 1 基本操作 (1)头文件#include<vector>. (2)创建vec ...
- 记录 C++ STL 中 一些好用的函数--持续更新 (for_each,transform,count_if,find_if)
在日常的编程中,有这么几种操作还是比较常见的: 把一组数据都赋值成一个数,在一组数据中查找一个数,统计一组数据中符合条件的数等等. 一般的写法可以用循环,没有什么是循环不能搞定的.假如在这里怎么用介绍 ...
随机推荐
- Selenium2学习(十七)-- js处理日历控件(修改readonly属性)
前言 日历控件是web网站上经常会遇到的一个场景,有些输入框是可以直接输入日期的,有些不能,以我们经常抢票的12306网站为例,详细讲解如何解决日历控件为readonly属性的问题. 基本思路:先用j ...
- vue2.x 随记
1. 外部js调用vue的方法等 将vue实例中的this传入外部js文件(比如作为某方法的参数),即可访问传入实例的所有内容.调用该实例中子组件的方法,用$refs. 2. 路由参数 传递:vm.$ ...
- FUNCTION_POWER
1.power function Definition:The Oracle PL/SQL, the POWER function is a built in function which takes ...
- May 20th 2017 Week 20th Saturday
The true nobility is in being superior to your previous self. 真正的高贵在于超越过去的自己. Every night before I w ...
- C4C Cloud Application Studio做ABSL开发的一些性能方面的最佳实践
Stefan Hagen在博文SAP Cloud Application Studio Performance Best Practices里介绍了在C4C里使用Cloud Application S ...
- 『看球笔记』20140208利物浦VS阿森纳,十字重剑与蜜蜂飞舞
红圈位置42%对58%的控球率,是不是觉得比分很不符?我们卖个关子,最后再说这个. 十字重剑 第一次任意球防守,俩后卫盯俩后卫,负责斯科特尔的是科斯切尔尼,而默特萨克盯图雷. ...
- libevent将信号封装为socket通知的核心代码
#include"stdafx.h" #include"iostream" #include "algorithm" #include&qu ...
- Ural State University Internal Contest October'2000 Junior Session
POJ 上的一套水题,哈哈~~~,最后一题很恶心,不想写了~~~ Rope Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7 ...
- ACM-ICPC (10/17)
今天满课啊,天气太冷了,网上找了一下虚树的东西,还没弄懂~~~(:´д`)ゞ 牛客网挑战赛1 给定一棵n个点的树,问其中有多少条长度为偶数的路径.路径的长度为经过的边的条数.x到y与y到x被视为同一条 ...
- 【luogu P2341 [HAOI2006]受欢迎的牛】 题解
题解报告:https://www.luogu.org/problemnew/show/P2341 我们把图中的强连通分量缩点,然后只有出度为0的牛是受欢迎的,这样如果出度为0的牛只有一个,说明受所有牛 ...