题解 | #整数奇偶排序#
整数奇偶排序
https://www.nowcoder.com/practice/bbbbf26601b6402c9abfa88de5833163
#include<algorithm> #include<cstdio> #include<iostream> using namespace std; bool com(int left,int right) { if(left%2!=0&&right%2==0) { return true; } else if(left%2!=0&&right%2!=0&&left>right) { return true; } else if(left%2==0&&right%2==0&&left<right) { return true; } else return false; } int main() { int a[10]; while(cin>>a[0]>>a[1]>>a[2]>>a[3]>>a[4]>>a[5]>>a[6]>>a[7]>>a[8]>>a[9]) { sort(a,a+10,com); for(int i=0;i<10;i++) { printf("%d ",a[i]); } printf("\n"); } }
提取中间的两个数进行比较,思考原子操作,true就是不交换继续向下执行,false就是交换位置
原来是这样