文章
18
粉丝
0
获赞
96
访问
5.5k
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(){
int n;
scanf("%d",&n);
int a[1001];
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
int low=0;
int high=n-1;
while(low<high){
while(low<high&&a[high]%2==0) high--;
while(low<high&&a[low]%2==1) low++;
if(low<high){
int zanc=a[high];
a[high]=a[low];
a[low]=zanc;
}
}
int acchigh=low;
int zancmax;
for(int i=0;i<low;i++){
for(int j=1;j<=acchigh;j++){
if(a[j-1]>a[j]){
zancmax=a[j];
a[j]=a[j-1];
a[j-1]=zancmax;
}
}
acchigh--;
}
acchigh=n-1;
for(int i=low;i<n;i++){
for(int j=low+2;j<=acchigh;j++){
if(a[j-1]>a[j]){
zancmax=a[j];
a[j]=a[j-1];
a[j-1]=zancmax;
}
}
acchigh--;
}
for(int i=0;i<n;i++){
printf("%d ",a[i]);
}
}
登录后发布评论
暂无评论,来抢沙发