调整数组顺序使奇数位于偶数前面
2015-11-14 11:50
393 查看
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
思路:类似于插入排序。
package practice;
public class test {
private static void reOrderArray(int[] arr) {
for (int i = 0; i < arr.length; i++) {
int a = arr[i];
if (arr[i] % 2 == 1) {
if (i > 0) {
int temp = arr[i];
for (int m = i; m >= 0; m--) {
if (arr[m - 1] % 2 == 0) {
arr[m] = arr[m - 1];
} else {
arr[m] = temp;
break;
}
}
if (arr[0] % 2 == 0) {
arr[0] = arr[i];
}
}
}
}
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i] + " ");
}
}
public static void main(String args[]){
int[] array = {1,4,4,5,9,8};
test test = new test();
test.reOrderArray(array);
}
}
思路:类似于插入排序。
package practice;
public class test {
private static void reOrderArray(int[] arr) {
for (int i = 0; i < arr.length; i++) {
int a = arr[i];
if (arr[i] % 2 == 1) {
if (i > 0) {
int temp = arr[i];
for (int m = i; m >= 0; m--) {
if (arr[m - 1] % 2 == 0) {
arr[m] = arr[m - 1];
} else {
arr[m] = temp;
break;
}
}
if (arr[0] % 2 == 0) {
arr[0] = arr[i];
}
}
}
}
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i] + " ");
}
}
public static void main(String args[]){
int[] array = {1,4,4,5,9,8};
test test = new test();
test.reOrderArray(array);
}
}
public void reOrderArray(int [] array) { for(int i = 0;i<array.length;i++){ for(int j = array.length-1;j>i;j--){ if(array[j-1]%2 == 0&&array[j]%2 == 1){ int temp = 0; temp = array[j-1]; array[j-1] = array[j]; array[j] = temp; } } } } }
相关文章推荐
- git diff 四种比较方式
- Xcode升级后,插件无法工作的问题
- PHP实现的一致性哈希算法完整实例
- 剑指Offer-19-二叉树的镜像
- 推荐些好的博客和iOS学习网站(有的需要CrossingWall)
- go语言 robfig/cron包 实现定时 调用
- 解决spring、springMVC重复扫描导致事务失效的问题
- SAP研究贴之--发票校验提示移动平均价为负
- Checklists学习日志之Cocoa、Foundation框架的概念,UIString和String的使用
- 大二训练第二周 D - 覆盖的面积 离散化坐标加线段树
- 58. 格式化字符串
- JavaFX透明窗口
- UILongPressGestureRecognizer的介绍
- c++学习(三)
- linux下ifconfig,service等命令不能直接使用
- Django 设置cookies与获取cookies.
- Json 基于jQuery+JSON的省市联动效果
- redis配置不当可直接导致服务器被控制
- 【Android】Activity的启动模式
- 如何给Spring MVC的action加上事务