SDUT3333&&SDUT3332数据结构实验之栈五:下一较大值(一)
2016-07-27 09:28
337 查看
#include<bits/stdc++.h> using namespace std; struct node { int num,next,id; }; void nextmax(int n) { stack<struct node>s; struct node a[100050],t; for(int i=1; i<=n; i++) { scanf("%d",&a[i].num); a[i].next=-1; a[i].id=i; if(s.empty()) s.push(a[i]); else { while(!s.empty()) { t=s.top(); if(a[i].num>t.num) { a[t.id].next=a[i].num; s.pop(); } else break; } s.push(a[i]); } } for(int i=1; i<=n; i++) printf("%d-->%d\n",a[i].num,a[i].next); } int main() { int n,T; scanf("%d",&T); while(T--) { scanf("%d",&n); nextmax(n); if(T)printf("\n"); } return 0; }
相关文章推荐
- 暑假集训二顺序表-顺序表应用5:有序顺序表归并
- 暑假集训二顺序表-顺序表应用6:有序顺序表查询
- 暑假集训二顺序表-顺序表应用2:多余元素删除之建表算法
- 暑假集训二顺序表-顺序表应用1:多余元素删除之移位算法
- Python机器视觉编程常用数据结构与示例
- 暑假集训二顺序表-顺序表应用3:元素位置互换之移位算法
- 暑假集训第1天链表-数据结构实验之链表七:单链表中重复元素的删除
- 暑假集训第1天链表-数据结构实验之链表三:链表的逆置
- 暑假集训第1天链表-数据结构实验之链表四:单链表的归并
- 暑假集训第1天链表-数据结构实验之链表五:单链表的拆分
- 暑假集训第1天链表-数据结构上机测试2-1:单链表操作A
- 数据结构学习一 数据结构概述及预备知识
- 数据结构学习笔记之用Java实现双向链表
- 数字之和排序,数据结构
- 大数据Spark “蘑菇云”行动前传第8课:零基础实战Scala最常用数据结构Map和Tuple及Spark源码解析
- R语言之数据结构
- 《数据结构之线性表合并操作》
- 数据结构之――B-树
- 如何编写递归程序(回溯法)
- 高并发数据结构Disruptor解析(2)