SDUT 3332 下一较大值(一)
2016-06-11 11:43
309 查看
点击打开链接
#include <bits/stdc++.h>
using namespace std;
int _stack[100100], pp[100100];
int main()
{
int n, m;
int i, j, k;
cin >> n;
for(j = 1; j <= n; j++)
{
memset(_stack, 0, sizeof(_stack));
cin >> m;
for(int i = 1; i <= m; i++)
{
cin >> pp[i];
}
for(i = 1; i < m; i++)
{
for(k = i+1; k <= m; k++)
{
if(pp[i] <= pp[k])
{
_stack[i] = pp[k];
break;
}
}
if(k > m)
{
_stack[i] = -1;
}
}
_stack[m] = -1;
for(i = 1; i <= m; i++)
{
cout << pp[i] << "-->" << _stack[i] << endl;
}
if(j != n)
{
cout << endl;
}
}
return 0;
}
#include <bits/stdc++.h>
using namespace std;
int _stack[100100], pp[100100];
int main()
{
int n, m;
int i, j, k;
cin >> n;
for(j = 1; j <= n; j++)
{
memset(_stack, 0, sizeof(_stack));
cin >> m;
for(int i = 1; i <= m; i++)
{
cin >> pp[i];
}
for(i = 1; i < m; i++)
{
for(k = i+1; k <= m; k++)
{
if(pp[i] <= pp[k])
{
_stack[i] = pp[k];
break;
}
}
if(k > m)
{
_stack[i] = -1;
}
}
_stack[m] = -1;
for(i = 1; i <= m; i++)
{
cout << pp[i] << "-->" << _stack[i] << endl;
}
if(j != n)
{
cout << endl;
}
}
return 0;
}
相关文章推荐
- C++基于栈实现铁轨问题
- C语言栈的表示与实现实例详解
- C语言实现颠倒栈的方法
- 算法系列15天速成 第十天 栈
- 一看就懂:图解C#中的值类型、引用类型、栈、堆、ref、out
- Array栈方法和队列方法的特点说明
- java数据结构之java实现栈
- 浅析栈区和堆区内存分配的区别
- 用Java代码实现栈数据结构的基本方法归纳
- 用PHP解决的一个栈的面试题
- 浅谈C#中堆和栈的区别(附上图解)
- JavaScript数据结构与算法之栈详解
- C语言之栈和堆(Stack && Heap)的优缺点及其使用区别
- Python实现栈的方法
- JavaScript数组的栈方法与队列方法详解
- JavaScript数据结构与算法之栈与队列
- JavaScipt中栈的实现方法
- Java中堆和栈的区别详解
- 详解Java的堆内存与栈内存的存储机制
- java中堆和栈的区别分析