
/*设计一个算法:将顺序表中的奇数全部移到偶数前面(时间最少,空间最少)分析:这里要求时空皆最少,所以不会使用到辅助空间,时间复杂度应为O(n)。其实我们可以一次遍历便可做到该要求我们可以设计一个变量k=0,然后进行遍历,每当遇到一个奇数,便把奇数与k所对应的元素对调,k进行加一操作书上采用的是快速排序,我没想到哈哈哈*/#include <stdio.h>#include <stdlib.h>void swap(int &a, int &b) {int tmp;tmp = a;a = b;b = tmp;}void oddAHead(int *arr, int len) {int k = 0;for (int i = 0; i < len; i++) {if (arr[i] % 2) {swap(arr[i], arr[k++]);}}}int main() {int arr[] = { 1,2,4,4,5,6,7,8,9 };oddAHead(arr,9);return 0;}
