- 博客(7)
- 收藏
- 关注
原创 C++之单调栈
单调栈的性质单调栈是一种特殊的栈,特殊之处在于栈内的元素都保持一个单调性。假设下图是一个栈内元素的排列情况(单调递增的栈):此时插入情况有两种:(1)插入元素大于栈顶元素:因为7 > 6,满足栈内元素单调递增的性质,所以可以直接插入7到栈顶(2)当插入元素小于栈顶元素的时候,当插入3的时候,需要将栈顶的6,4弹出,在插入,例如:功能利用单调栈可以找出从左/右遍历第一个比...
2020-02-20 20:05:08 6084 1
原创 c++->栈的相关入门题目
栈的经典例题1.栈排序题目背景:给出定一个已经装有数的栈,要求使用一个辅助栈,完成原始栈的排序,且除必要单变量外,不用其它任何数据结构(包括数组),即你可以使用的数据结构只有一种、两个:原始栈和辅助栈。输入格式:第一行一个数n,表示原栈里面数的个数第二行n个整数,按照原始栈从栈底到栈顶的顺序给出。输出格式:一行n个整数,按照从大到小的顺序输出,每两个数字之间两个空格解题思路:(...
2020-02-18 17:17:56 1201
原创 c++数据结构→栈
栈结构简介1.栈其实也是一种线性表,而线性表有两种结构,一种是物理上的线性,另一种是逻辑上的线性2.准确的定义 : 栈是限定仅在表尾进行插入和删除操作的线性表3.我们把语序删除和插入的一端称为栈顶,另一端称为栈底4.栈又称为后进先出的线性表,简称LIFO结构(Last in First Out)栈的相关基本操作1.插入操作 :void push(type val);2.删除操作 :v...
2020-02-15 19:46:00 382
原创 rand函数和srand函数生成随机数
rand函数的相关用法1.使用的时候不需要引入别的头文件2.直接使用的 rand 函数生成随机数会产生0 – RAND_MAX(32767)之间的随机数3.产生的随机数其实都是伪随机数,是开发人员事先预定好的数字顺序4.每次生成随机数都需要一个种子,在不使用 srand 函数的情况下计算机默认种子是不变的5.也就是说,如果只用 rand 函数,那么每次生成的随机数都一样示例一 :fo...
2020-02-09 11:15:44 924
原创 增加快速读写的两个方法
1.在主函数的开头加入下面一段代码 :ios::sync_with_stdio(false);cin.tie(0);2.快速读写首先要引入 < cstdio > 和 < iostream > 这两个库其次再加入下面一系列代码using namespace std;namespace fast_IO { inline int read() { ...
2020-01-25 16:55:02 1555
原创 一些初学者(我就是)可能用到的东西
1.判断闰年首先,如果能被4整除但是不能被100整除,就是闰年,或者,能被4,100和400同时整除的也是闰年。也就是普通年份看能否被4整除,世纪年看能否被400整除附上代码 :bool IF_leapyear(int n) {//n是表示传入要判断的年数 if (n % 4 == 0) { if (n % 100 == 0)...
2020-01-21 22:28:37 209
原创 关于map的简单用法
在使用map的时候需要添加头文件 #include< map >map一般配合着pair(也是一个模板类),pair类似于数学函数,一双一对,一对一的关系1.map和pair的构造map<数据类型1,数据类型2>名称 , 例如 :map< int , int >mp;map< int , vector< int >>mp;数据...
2020-01-21 18:56:59 495
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人