基于快排思想实数组现将数组中所有奇数放到偶数前面

 1 #include <stdio.h>
 2 
 3 void sort(int sz[], int low, int high)
 4 {
 5     int p = sz[low]; // 模仿快速排序,时间复杂度为o(n), 空间复杂度o(1)
 6     while (low < high)
 7     {
 8         while (low < high && (sz[high] % 2 == 0))
 9             high--;
10         sz[low] = sz[high];
11         while (low < high && (sz[low] % 2 != 0))
12             low++;
13         sz[high] = sz[low];
14     }
15     sz[low] = p;
16 }
17 
18 int main()
19 {
20     int sz[] = {18, 9, 71, 72, 99, 90, 64, 3, 22, 55, 10, 11};
21     sort(sz, 0, 11);
22     for (int i = 0; i < 12; i++)
23         printf("%d ", sz[i]);
24     return 0;
25 }

 

posted @ 2019-07-16 20:31  sqdtss  阅读(242)  评论(0编辑  收藏  举报