H面试(24):调整数组顺序使奇数位于偶数前面
来源:互联网 发布:2016网络大电影排行 编辑:程序博客网 时间:2024/06/05 19:25
题目:输入一个数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数
位于数组的后半部分,要求时间复杂度为O(n).
#include <assert.h> #include <stdio.h> void swap (int * a , int *b) //交换两个数字{ int temp; temp = *a; *a = *b; *b = temp;}void push_odd_before_even(int * a ,int n){ assert(a);int * begin = &a[0]; //指向数组首元素 int * end = &a[n-1]; //指向数组末尾元素for (int i = 0; i < n; i++ ){if((*begin & 1)&&(begin!=end)) //是奇数就移到下一位,直接跳到下一循环{ begin++; continue; }else //是偶数就放到最后去{ swap(begin, end); *end--;}}}int main( ){int a[ ] = {1,5,3,9};int n = sizeof(a)/sizeof(int); push_odd_before_even(a,n);for (int i=0; i<n; i++){printf("%d ", a[i]);}return 0;}
- H面试(24):调整数组顺序使奇数位于偶数前面
- 面试14:调整数组顺序使奇数位于偶数前面
- 边看边写(调整数组顺序使奇数位于偶数前面)
- 调整数组顺序使奇数位于偶数前面(java)
- 面试算法(十三)调整数组顺序使奇数位于偶数前面
- 【数组3】-调整数组顺序使奇数位于偶数前面
- 数组3:调整数组顺序使奇数位于偶数前面
- 调整数组顺序使奇数位于偶数前面
- 调整数组顺序使奇数位于偶数前面
- 调整数组顺序使奇数位于偶数前面--总结
- 调整数组顺序使奇数位于偶数前面
- 调整数组顺序使奇数位于偶数前面
- 调整数组顺序使奇数位于偶数前面
- 调整数组顺序使奇数位于偶数前面[
- 调整数组顺序使奇数位于偶数前面
- 调整数组顺序使奇数位于偶数前面
- 调整数组顺序使奇数位于偶数前面
- 调整数组顺序使奇数位于偶数前面
- 摆脱“概念化”,自动售货机玩儿“物联网”是否靠谱?
- asp.net使用母版页时js出现问题
- b3log handleMappingString
- 表达式求解
- QT的事件系统
- H面试(24):调整数组顺序使奇数位于偶数前面
- C++ 虚函数表解析
- IOS动画Core Animation详解
- ANT
- Linux上程序调试的基石(1)--ptrace
- mysql
- UVA 12587 Reduce the Maintenance Cost 解题报告
- 如何实现WebSphere Application Server 6集群环境下的定时服务
- 进程间通信—Socket编程