剑指offer21

#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;
}


阅读更多
个人分类: 剑指offer
上一篇剑指offer20
下一篇剑指offer22
想对作者说点什么? 我来说一句

剑指Offer 最新版

2017年09月11日 104.53MB 下载

算法面试题 剑指offer

2017年11月13日 20.94MB 下载

没有更多推荐了,返回首页

关闭
关闭