在这里插入代码片
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
typedef struct ha
{
int num;//编号
int maxi;int mini;
int val;
}haha;
bool cmp(haha a1,haha b1)
{
return a1.num<b1.num;
}
haha a[100001];
int main()
{
int n,i,j;
haha temp;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i].val);
a[i].num=i;a[i].maxi=a[i].num;a[i].mini=a[i].num;
}
for(i=0;i<n;i++)
{
for(j=n-1;j>i;j--)//每一轮的冒泡操作
{
if(a[j-1].val>a[j].val)
{
a[j].mini=j-1;a[j-1].maxi=j;
temp=a[j];a[j]=a[j-1];a[j-1]=temp;
}
}
}
sort(a,a+n,cmp);
for(i=0;i<n;i++)
{
if(i==0)
{
printf("%d",a[i].maxi-a[i].mini);
}
else
printf(" %d",a[i].maxi-a[i].mini);//之后再交一次中间空格版
}
return 0;
}
duidie
最新推荐文章于 2025-04-12 15:52:52 发布