
注意读题,把题意读懂就行!!!
#include<stdio.h>
#include<iostream>
#include<map>
#include<string.h>
#include<algorithm>
#include<math.h>
#include<vector>
#define ll long long
using namespace std;
int a[10005];
int b[10008];
int ans;
int main()
{
int n;
while(~scanf("%d",&n))
{
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
b[i]=a[i];
}
int ans=0;
sort(b+1,b+1+n);
for(int i=n;i>=1;i--)
{
if(a[i]!=b[i])
{
for(int j=1;j<=n;j++)
{
if(a[j]==b[i])
{
ans++;
int t=a[j];
a[j]=a[i];
a[i]=a[j];
break;
}
}
}
}
printf("%d\n",ans);
}
return 0;
}
本文介绍了一种通过排序和逐个比较元素来调整数组中元素位置的算法实现。该算法首先对数组进行排序,然后从后向前遍历,当发现元素不在其正确位置时,寻找并交换至正确位置的元素,以此完成整个数组的调整。
631

被折叠的 条评论
为什么被折叠?



