|
|
#3
yuccn2012-11-23 15:37
void test(int *pAddr, int nCount)
{
if (pAddr == NULL) {
return;
}
int nBegin = 0;
int nEnd = nCount-1;
while (nBegin < nEnd) {
// 找到最前面的偶数
while (pAddr[nBegin] % 2 == 1) {// 基数
nBegin++;
}
// 找到最前后的基数
while (pAddr[nEnd] % 2 == 0) {// 偶数
nEnd--;
}
if (nBegin < nEnd) {
int temp = pAddr[nBegin];
pAddr[nBegin] = pAddr[nEnd];
pAddr[nEnd] = temp;
}
}
}
int main()
{
int n[] = { 1,2,3,4,5,6,76,896,9,9,9,9,9,9,8,8,0,12};
test(n, sizeof(n)/ sizeof(int));
}
|