调整数组顺序使奇数位于偶数前面

来源:互联网 发布:java高并发编程实战 编辑:程序博客网 时间:2024/06/03 18:28

题目描述

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。

分类:数组

解法1:类似选择排序,遍历每个元素,对于奇数,

向前遍历,使其前面的偶数向后覆盖,直到遇上奇数,结束遍历,最后将奇数放入正确位置

public class Solution {      public void reOrderArray(int [] array) {          for(int i=1;i<array.length;i++){              int temp = array[i];              if(array[i] % 2 == 1){//如果遇上奇数                  int j = i-1;                  while(j>=0 && (array[j]%2)==0){//向前覆盖,直到遇到偶数                      array[j+1] = array[j];                                    j--;                  }                  array[j+1] = temp;//找到奇数的正确位置              }          }      }  }  


0 0
原创粉丝点击