1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
1
/****************************************
2 > File Name:test.c
3 > Author:xiaoxiaohui
4 > mail:1924224891@qq.com
5 > Created Time:2016年05月26日 星期四 19时15分12秒
6 ****************************************/
7
8 #include<stdio.h>
9 #include<
assert
.h>
10
11
void
Adjust(
int
*array,
int
size)
12 {
13
assert
(array);
14
assert
(size > 0);
15
16
int
* left = arrar;
17
int
* right = arrar[size - 1];
18
19
while
(right > left)
20 {
21
if
( ((*left) & 1) == 0)
//左边为偶数
22 {
23
if
( ((*right) & 1) == 1)
//右边为奇数
24 {
25 swap(*left, *right);
26 left++;
27 right--;
28 }
29
else
30 {
31 right--;
32 }
33 }
34
else
//如果左边不为偶数,则left++
35 {
36 left++;
37 }
38 }
39 }
|
本文转自 ye小灰灰 51CTO博客,原文链接:http://blog.51cto.com/10704527/1783645,如需转载请自行联系原作者