调整数组顺序使奇数位于偶数前面
2015-09-20 10:36
239 查看
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
package array;
public class Solution {
public void reOrderArray(int[] array) {
int lastOdd=0; //上一个奇数的位置
for(int i=0;i<array.length;i++){
if(array[i]%2==1){
int odd=i; //记录奇数的位置
for(int j=i-1;j>=lastOdd;j--){ //上一个奇数之前肯定无偶数,无需交换
if(array[j]%2==0){
int temp=array[odd];
array[odd]=array[j];
array[j]=temp;
odd=j;
}
}
lastOdd=odd; //交换之后记录上一个奇数的位置
}
}
}
}
package array;
public class Solution {
public void reOrderArray(int[] array) {
int lastOdd=0; //上一个奇数的位置
for(int i=0;i<array.length;i++){
if(array[i]%2==1){
int odd=i; //记录奇数的位置
for(int j=i-1;j>=lastOdd;j--){ //上一个奇数之前肯定无偶数,无需交换
if(array[j]%2==0){
int temp=array[odd];
array[odd]=array[j];
array[j]=temp;
odd=j;
}
}
lastOdd=odd; //交换之后记录上一个奇数的位置
}
}
}
}
相关文章推荐
- BLE 设计
- GO语言环境搭建 + Sublime text 3 + Git + MarGo + gocode 组合配置详解
- MFC中对象、句柄、ID之间的区别.---------非常经典写得真好
- Java简单易懂的生成不重复随机整数数组的方法
- Java设计模式菜鸟系列(两)建模与观察者模式的实现
- JAVA equals, ==
- 管理员取得所有权(win10 )
- selenium 操作测试对象
- 有些创业经验分享(1)——创业杂谈
- 闭包
- noip2008 排座椅 (贪心)
- 人生常态
- Notification(通知)的简单使用
- SQL扩展之T-SQL中的数据定义语言(续)
- hexo部署到gitcafe上静态博客
- 银行ATM机工作流程模拟编程
- 让Entity Framework不再私闯sys.databases 不自动创建数据库(转载)
- Javascript事件传播(冒泡机制) (摘自 博客园 萍水相逢)
- Android UI高级控件之ArrayAdapter
- 第三周项目二 建立“顺序表”算法库