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

来源:互联网 发布:sql server 按天分组 编辑:程序博客网 时间:2024/05/22 06:28

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

//用类似插入排序的思想解答本题public class Solution {    public void reOrderArray(int [] array) {       if(array.length==0||array==null)       return ;       for(int i=0;i<array.length;i++){       int j=i;       int k=j;       if(array[j]%2==1){       int temp=array[j];       while(j>0){       if(array[j-1]%2==0){       j--;       }       else break;       }       while(k>j){       array[k]=array[k-1];       k--;       }       array[k]=temp;       }             }    }
//测试    public static void main(String[] args) {Solution solution=new Solution();int[] a={4,2,6,5,4,6,7,8};solution.reOrderArray(a);for(int i=0;i<a.length;i++)System.out.print(a[i]+",");}}


0 0
原创粉丝点击