数据结构实验之栈与队列五:下一较大值(一)
Description
对于包含n(1<=n<=1000)个整数的序列,对于序列中的每一元素,在序列中查找其位置之后第一个大于它的值,如果找到,输出所找到的值,否则,输出-1。
Input
输入有多组,第一行输入t(1<=t<=10),表示输入的组数;
以后是 t 组输入:每组先输入n,表示本组序列的元素个数,之后依次输入本组的n个元素。
Output
输出有多组,每组之间输出一个空行(最后一组之后没有);
每组输出按照本序列元素的顺序,依次逐行输出当前元素及其查找结果,两者之间以–>间隔。
Sample
Input
2
4 12 20 15 18
5 20 15 25 30 6
Output
12–>20
20–>-1
15–>18
18–>-1
20–>25
15–>25
25–>30
30–>-1
6–>-1
#include<bits/stdc++.h>using namespace std;#define intsize 10000
#define addsize 10000typedef int elemtype;typedef struct
{elemtype *base;elemtype *top;elemtype *q;elemtype *h;int stacksize;
} Sqstack;int initstack(Sqstack &s)
{s.base = (elemtype *)malloc(intsize *sizeof(elemtype));if(!s.base)return -1;s.top = s.base;s.stacksize = intsize;return 0;
}
void clearstack(Sqstack &s)
{s.top = s.base;
}
int push(Sqstack &s, elemtype x)
{if(s.top - s.base > s.stacksize){s.base = new elemtype[intsize + addsize];if(!s.base)return -1;s.top = s.base + addsize;s.stacksize += addsize;}*s.top++ = x;return 0;
}void nextmax(Sqstack &s)
{s.q = s.base;int flag;for(; s.q != s.top; s.q++){flag = 0;for(s.h = s.q; s.h != s.top; s.h++){if(*(s.h) > *(s.q)){printf("%d-->%d\n", *(s.q), *(s.h));flag = 1;break;}}if(flag == 0)printf("%d-->-1\n", *(s.q));}
}
int main()
{Sqstack s;int t, n, a;scanf("%d", &t);initstack(s);while(t--){scanf("%d", &n);while(n--){scanf("%d", &a);push(s, a);}nextmax(s);clearstack(s);if(t >= 1)printf("\n");}return 0;
}
数据结构实验之栈与队列五:下一较大值(一)相关推荐
- sdut-3332 数据结构实验之栈与队列五:下一较大值(一)
数据结构实验之栈与队列五:下一较大值(一) Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Desc ...
- C - 数据结构实验之栈与队列三:后缀式求值
Description 对于一个基于二元运算符的后缀表示式(基本操作数都是一位正整数),求其代表的算术表达式的值. Input 输入一个算术表达式的后缀式字符串,以'#'作为结束标志. Output ...
- 数据结构实验之栈与队列三:后缀式求值
Description 对于一个基于二元运算符的后缀表示式(基本操作数都是一位正整数),求其代表的算术表达式的值. Input 输入一个算术表达式的后缀式字符串,以'#'作为结束标志. Output ...
- sdut 3333 数据结构实验之栈与队列六:下一较大值(二)
数据结构实验之栈与队列六:下一较大值(二) Time Limit: 150MS Memory Limit: 8000KB Submit Statistic Discuss Problem Descri ...
- SDUT-2449_数据结构实验之栈与队列十:走迷宫
数据结构实验之栈与队列十:走迷宫 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 一个由n * m 个格子组成的迷宫,起 ...
- sdut 2088 数据结构实验之栈与队列十一:refresh的停车场
数据结构实验之栈与队列十一:refresh的停车场 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem ...
- sdut 1479 数据结构实验之栈与队列九:行编辑器
数据结构实验之栈与队列九:行编辑器 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Descript ...
- sdut 3335 数据结构实验之栈与队列八:栈的基本操作
数据结构实验之栈与队列八:栈的基本操作 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Descri ...
- sdut 2134 数据结构实验之栈与队列四:括号匹配
数据结构实验之栈与队列四:括号匹配 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Descript ...
最新文章
- k8s暴露nginx NodePort端口命令:expose暴露端口使用示例
- 酷派android是什么系统版本,酷派大神X7的手机系统是什么?能升级安卓5.0吗?
- 【Vegas原创】ASP 0131 不允许父路径的解决
- Java import static静态导入
- 转:使用脚本关闭订单头
- 游戏编辑器研发第一天,对比思考确定底层技术和从0开发场景编辑器原因
- Js获取CheckBook被选中的值
- 怎么用c语言表示素数,用C语言编写判断一个数是否是素数的程序
- 电子商务计算机和英语作文,电子商务的优缺点英语作文_电子商务英语作文
- sd和sem啥区别_标准差SD和标准误sem的区别
- 张云雷的《探清水河》登上央视,为什么蔡国庆可以随心所欲地唱
- 华为 USG 双机热备
- 第五章创业机会与创业风险
- python 三维曲线拟合_python实现三维拟合的方法
- 爬取王者荣耀皮肤-点券领取
- macOS 和 Linux 有什么区别?
- 基于OpenPose的坐姿识别
- 操作系统解决吸烟者问题
- Qt 中messageBox使用
- 【ansys workbench】8.刚体平移和弱弹簧
热门文章
- 结构主题模型(一)stm包工作流
- java Integer中隐藏的细节魔鬼!来自面试官的三轮暴击!
- 从flink-example分析flink组件(3)WordCount 流式实战及源码分析
- spring boot多数据源配置(mysql,redis,mongodb)实战
- Lambda架构在有赞广告平台的应用与演进
- 手机淘宝 521 性能优化项目揭秘
- spring-data-redis 使用过程中需要注意的地方
- linux 管道--转
- 第三讲-------Logistic Regression Regularization
- 关于Rocchio算法和向量空间模型反馈