文章

28

粉丝

0

获赞

86

访问

2.7k

头像
排序 题解:采用冒泡排序将奇数分在左边,偶数在右边,然后找到奇偶分界点,后stable_sort
P1010 兰州大学/贵州大学机试
发布于2025年3月17日 15:30
阅读数 130

#include<bits/stdc++.h>
using namespace std;
bool cmp_up(int a,int b)
{
return a<b;
}
int main(){
int count;
cin>>count;
int num[count];

for(int i=0;i<count;i++)
{
	cin>>num[i];
}
for(int i=0;i<count-1;i++)
{
	for(int j=0;j<count-1;j++)
	{
    if(num[j]%2==0&&num[j+1]%2==1){
             swap(num[j],num[j+1]);
	}
	}
}
int index=0;
for(int i=0;i<count;i++)
{
if(num[i]%2==1){
	index++;
}
}
stable_sort(num,num+index,cmp_up);
stable_sort(num+index,num+count,cmp_up);
for(int i=0;i<count;i++)
cout<<num[i]<<' ';

}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发