指针练习
按奇偶排序,偶的全在前,奇的全在后
#include<iostream> #include<cstdio> using namespace std; int main() { int n,a[50010],i; scanf("%d",&n); for(i=1;i<=n;i++) { scanf("%d",&a[i]); } int *pa,*pb; pa=&a[1]; pb=&a[n]; while(pa<pb) { if(*pa%2==0 && *pb%2==1) { pb--; pa++; } else if(*pa%2==0 && *pb%2==0) { pa++; } else if(*pa%2==1 && *pb%2==1) { pb--; } else if(*pa%2==1 && *pb%2==0) { swap(*pa,*pb); pb--; pa++; } } for(int i=1;i<=n;i++) { printf("%d ",a[i]); } return 0; }
难写锤实了