#include<iostream>
using namespace std;
bool check(int x) {
return (x & 1) == 0;
}//判断是否为偶数
void moveNum(int *v,int len,bool(*f)(int)) {
if (v == NULL || len == 0) return;
int *p = v, *q = v+len-1;
while (p<q){
while (p < q && !f(*p)) p++;
while (p < q && f(*q)) q--;
if(p < q) swap(*p,*q);
}
}
int main()
{
int m[] = {1,4,7,8,3,10};
int n[] = {1,3,5,4,8};
int k[] = {2,4,6,8,1,1};
moveNum(m, 6, check);
moveNum(n, 5, check);
moveNum(k, 6, check);
return 0;
}
剑指offer21
最新推荐文章于 2023-03-11 12:15:24 发布