更新时间:2022-10-04 15:18:23
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 }
|