13____调整数组的顺序使得奇数位于偶数前

题目描述:

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

public class Solution {
    //采用冒泡排序的思想进行交换
    public void reOrderArray(int [] array) {
        for(int i=0;i<array.length;i++){
            for(int j=0;j<array.length-1-i;j++){
                if(array[j]%2==0&&array[j+1]%2==1){
                    int t=array[j];
                    array[j]=array[j+1];
                    array[j+1]=t;
                }
            }
        }
    }
}

冒泡排序:

 public static int[] bubbleSort(int[] a){
        for(int i=0;i<a.length;i++){
            Boolean flag=false;   //记录此趟循环是否发生交换
            for(int j=0;j<a.length-1-i;j++){
                if(a[j]>a[j+1]){
                    int t=a[j];
                    a[j]=a[j+1];
                    a[j+1]=t;
                    flag=true;
                }
            }
            if(!flag){  //没有发生交换时,说明数组已经有序  跳出循环
                break;
            }
        }
        return a;
    }

 

posted @ 2019-09-03 11:19  德鲁大叔817  阅读(123)  评论(0编辑  收藏  举报