123 排序


给你1 2 3 的混乱顺序问你最少几回能按升序排好ios

#include <iostream>spa

#include<stdio.h> using namespace std; int main() {     int n,a[1100],i,ge1=0,ge2=0,ge3=0,ge4=0,ge5=0,ge6=0,ge7=0,ge8=0,ge9=0,t,ge=0;     scanf("%d",&n);     for(i=0;i<=n-1;i++)     {         scanf("%d",&a[i]);         if(a[i]==1)             ge1++;         if(a[i]==2)             ge2++;         if(a[i]==3)             ge3++;     }     for(i=0;i<=ge1-1;i++)     {         if(a[i]==2)             ge4++;         if(a[i]==3)             ge5++;     }     for(i=ge1;i<=ge1+ge2-1;i++)     {         if(a[i]==1)             ge6++;         if(a[i]==3)             ge7++;     }     for(i=ge1+ge2;i<=n-1;i++)     {         if(a[i]==1)             ge8++;         if(a[i]==2)             ge9++;     }     if(ge4!=0&&ge6!=0)     {         t=ge4;         if(ge4>ge6)             t=ge6;         ge+=t;     }     if(ge5!=0&&ge8!=0)     {         t=ge5;         if(ge8<ge5)             t=ge8;         ge+=t;     }     if(ge7!=0&&ge9!=0)     {         t=ge7;         if(ge7>ge9)             t=ge9;         ge+=t;     }     ge+=(ge4+ge5+ge6+ge7+ge8+ge9-ge*2)/3*2;     printf("%d\n",ge);     return 0; }