调整数组顺序使奇数位于偶数前面
2016-06-15 10:40
267 查看
题目描述
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。若题目没有要求相对位置不变,则设置两个指针first和second,当first<second时分别从前和后查找奇数和偶数,交换即可。
但这里要求相对奇数偶数间顺序不能改变。方法如下:
public void reOrderArray(int [] array) { if(array == null||array.length <= 1) return; for(int i=0;i<array.length;i++) { if(array[i]%2 == 0) { int j=i+1; for(;j<array.length;j++) { if(array[j]%2 == 1) break; } if(j == array.length) return; //只能从后向前移位并插入!!!!! int temp=array[j]; for(int k=j;k>i;k--) { array[k]=array[k-1]; } array[i]=temp; } } }
相关文章推荐
- 牛客网刷题笔记
- 205. Isomorphic Strings
- 随时随地退出程序
- Activity启动模式
- Xcode7.3.1中通过最新的CocoaPod安装pop动画引擎
- Xcode7.3.1中通过最新的CocoaPod安装pop动画引擎
- 自定义分区、数据类型、排序、分组
- Xcode7.3.1中通过最新的CocoaPod安装pop动画引擎
- Activity被回收导致fragment的getActivity为null的解决办法
- swift 值引用
- .NET Core创建一个控制台(Console)程序
- 用C#制作PDF文件全攻略
- opencv与ffmpeg数据结构
- 安卓代码学习录
- APK动态加载框架(DL)解析
- apache + resin的多机部署方案实现方法WEB服务器
- MyBatis SQL注入
- C++ Builder 中对编辑框输入double类型数据或只输入字母或数字进行限定
- 最大子段和
- Zend Studio 12.5.1 破解、注册码