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;
}

数据结构实验之栈与队列五:下一较大值(一)相关推荐

  1. sdut-3332 数据结构实验之栈与队列五:下一较大值(一)

    数据结构实验之栈与队列五:下一较大值(一) Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Desc ...

  2. C - 数据结构实验之栈与队列三:后缀式求值

    Description 对于一个基于二元运算符的后缀表示式(基本操作数都是一位正整数),求其代表的算术表达式的值. Input 输入一个算术表达式的后缀式字符串,以'#'作为结束标志. Output ...

  3. 数据结构实验之栈与队列三:后缀式求值

    Description 对于一个基于二元运算符的后缀表示式(基本操作数都是一位正整数),求其代表的算术表达式的值. Input 输入一个算术表达式的后缀式字符串,以'#'作为结束标志. Output ...

  4. sdut 3333 数据结构实验之栈与队列六:下一较大值(二)

    数据结构实验之栈与队列六:下一较大值(二) Time Limit: 150MS Memory Limit: 8000KB Submit Statistic Discuss Problem Descri ...

  5. SDUT-2449_数据结构实验之栈与队列十:走迷宫

    数据结构实验之栈与队列十:走迷宫 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 一个由n * m 个格子组成的迷宫,起 ...

  6. sdut 2088 数据结构实验之栈与队列十一:refresh的停车场

    数据结构实验之栈与队列十一:refresh的停车场 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem ...

  7. sdut 1479 数据结构实验之栈与队列九:行编辑器

    数据结构实验之栈与队列九:行编辑器 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Descript ...

  8. sdut 3335 数据结构实验之栈与队列八:栈的基本操作

    数据结构实验之栈与队列八:栈的基本操作 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Descri ...

  9. sdut 2134 数据结构实验之栈与队列四:括号匹配

    数据结构实验之栈与队列四:括号匹配 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Descript ...

最新文章

  1. k8s暴露nginx NodePort端口命令:expose暴露端口使用示例
  2. 酷派android是什么系统版本,酷派大神X7的手机系统是什么?能升级安卓5.0吗?
  3. 【Vegas原创】ASP 0131 不允许父路径的解决
  4. Java import static静态导入
  5. 转:使用脚本关闭订单头
  6. 游戏编辑器研发第一天,对比思考确定底层技术和从0开发场景编辑器原因
  7. Js获取CheckBook被选中的值
  8. 怎么用c语言表示素数,用C语言编写判断一个数是否是素数的程序
  9. 电子商务计算机和英语作文,电子商务的优缺点英语作文_电子商务英语作文
  10. sd和sem啥区别_标准差SD和标准误sem的区别
  11. 张云雷的《探清水河》登上央视,为什么蔡国庆可以随心所欲地唱
  12. 华为 USG 双机热备
  13. 第五章创业机会与创业风险
  14. python 三维曲线拟合_python实现三维拟合的方法
  15. 爬取王者荣耀皮肤-点券领取
  16. macOS 和 Linux 有什么区别?
  17. 基于OpenPose的坐姿识别
  18. 操作系统解决吸烟者问题
  19. Qt 中messageBox使用
  20. 【ansys workbench】8.刚体平移和弱弹簧

热门文章

  1. 结构主题模型(一)stm包工作流
  2. java Integer中隐藏的细节魔鬼!来自面试官的三轮暴击!
  3. 从flink-example分析flink组件(3)WordCount 流式实战及源码分析
  4. spring boot多数据源配置(mysql,redis,mongodb)实战
  5. Lambda架构在有赞广告平台的应用与演进
  6. 手机淘宝 521 性能优化项目揭秘
  7. spring-data-redis 使用过程中需要注意的地方
  8. linux 管道--转
  9. 第三讲-------Logistic Regression Regularization
  10. 关于Rocchio算法和向量空间模型反馈