📄 dom.cpp
字号:
#include <fstream>
#include <iostream>
#include <stack>
using namespace std;
typedef struct{
int num; //记录数值
int order; //记录数值的下标
}Num;
typedef stack<Num> Stack1;
void dom(Num &a,int *b,Stack1 &numStack);//判断堆栈中的数值是否以a为亲兄弟
void main()
{
ofstream out("output.txt");
ifstream in("input.txt");
int i;
in>>i;
Num a;
int * b=new int[i];
Stack1 numStack;
for(int j=0;j<i;j++)
{
in>>a.num;
a.order=j;
dom(a,b,numStack);
}
while(!numStack.empty())//堆栈内的剩余元素无亲兄弟
{
b[numStack.top().order]=-1;
numStack.pop();
}
for(j=0;j<i;j++)
{
out<<b[j]<<" ";
}
out<<endl;
delete []b;
}
void dom(Num &a,int *b,Stack1 &numStack)
{
while(!numStack.empty()&&a.num>=numStack.top().num)
{
b[numStack.top().order]=a.order;
numStack.pop();
}
numStack.push(a);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -