#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<vector>
#include<queue>
using namespace std;
const int maxn=105;
const int INF=0x3f3f3f3f;
typedef long long ll;
int a[maxn];
int loc[maxn];
int main(){
int q;
scanf("%d",&q);
while(q--){
memset(loc,0,sizeof(loc));
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
loc[a[i]]=i;
}
int ans=1;
int x=n-1;
int pos=1;
while(ans<n&&pos<=n){
int xx=loc[pos];
//cout<<ans<<" "<<pos<<endl;
if(loc[pos]>ans){
bool flag=false;
int tt=0;
for(int i=xx-1;i>=ans;i--){
if(a[i]>pos){
flag=true;
tt=i;
}else{
break;
}
}
if(flag){
for(int i=xx-1;i>=tt;i--){
loc[a[i]]++;
a[i+1]=a[i];
}
a[tt]=pos;
loc[pos]=ans;
ans=xx;
}
}
pos++;
}
for(int i=1;i<=n;i++){
cout<<a[i]<<" ";
}
cout<<endl;
}
}
CF1256B Minimize the Permutation
最新推荐文章于 2021-02-06 09:50:24 发布