调整数组使奇数位于偶数前面
来源:互联网 发布:证件照拍照软件 编辑:程序博客网 时间:2024/06/05 16:42
如果考虑暴力解决的话,就每次从前往后扫面,遇到偶数就放在最后,这样时间复杂度就是O(n*n),对于这种问题明显过高了,我们考虑扫描一遍,用两个指针,一个从前往后,另一个从后往前,碰到前偶后奇的时候就交换,这样算法复杂度只有O(n)。
#include<stdio.h>#include<stdlib.h>void reset(int a[],int n){int i=0,j=n-1,tmp=0;while(i<j){if((a[i]%2==1)&&(a[j]%2==0)){i++;j--;}else if((a[i]%2==1)&&(a[j]%2==1))i++;else if((a[i]%2==0)&&(a[j]%2==1)){tmp=a[i];a[i]=a[j];a[j]=tmp;}elsej--;}}int main(){int n;while(scanf("%d",&n)!=EOF){int *a=(int *)malloc(sizeof(int)*n);int i;for(i=0;i<n;i++)scanf("%d",&a[i]);reset(a,n);for(i=0;i<n;i++)printf("%d ",a[i]);printf("\n");}return 0;}
1 0
- 调整数组使奇数位于偶数前面
- 调整数组使奇数位于偶数前面
- 【数组3】-调整数组顺序使奇数位于偶数前面
- 数组3:调整数组顺序使奇数位于偶数前面
- 调整数组顺序使奇数位于偶数前面
- 调整数组顺序使奇数位于偶数前面
- 调整数组顺序使奇数位于偶数前面--总结
- 调整数组顺序使奇数位于偶数前面
- 调整数组顺序使奇数位于偶数前面
- 调整数组顺序使奇数位于偶数前面
- 调整数组顺序使奇数位于偶数前面[
- 调整数组顺序使奇数位于偶数前面
- 调整数组顺序使奇数位于偶数前面
- 调整数组顺序使奇数位于偶数前面
- 调整数组顺序使奇数位于偶数前面
- 调整数组顺序使奇数位于偶数前面
- 调整数组顺序使奇数位于偶数前面
- 调整数组顺序使奇数位于偶数前面
- 谷歌高管遇难后他妹妹写的通告
- 在Maven中,仓库就是存放依赖和插件的地方
- Android LayoutInflater原理分析,带你一步步深入了解View(一)
- 基本的几种算法
- 【hibernate源码解析】之Configuration
- 调整数组使奇数位于偶数前面
- C语言中指针的自增运算总结
- Android视图绘制流程完全解析,带你一步步深入了解View(二)
- HDFS只支持文件append操作, 而依赖HDFS的HBase如何完成增删改查功能
- Java多线程学习笔记
- Shell基础-Bash变量-位置参数变量
- JavaScript闭包作用域与this
- Android视图状态及重绘流程分析,带你一步步深入了解View(三)
- android-Canvas