输入一个整数数组,实现一个函数来调整该数组中数字的顺序


方法一:

public class Solution {

    public void reOrderArray(int [] array) {
        if(array.length==0)return;
        if(array.length==1)return;
        int []jishu=new int[array.length];
        int []oushu=new int[array.length];
        for(int i=0,k=0,m=0;i<array.length;i++)
        {
            if(array[i]%2==0) oushu[k++]=array[i];
            else jishu[m++]=array[i];
        }
        int i=0;
      for(int k=0;;k++){
          if(jishu[k]!=0)array[i++]=jishu[k];
              else break;
      }
      for(int k=0;i<array.length;k++){
          array[i++]=oushu[k];
              
      }
    }

}

方法二:

class Solution {
public :
     void reOrderArray(vector< int > &array) {
 
         
         for ( int i = 0; i < array.size();i++)
         {
             for ( int j = array.size() - 1; j>i;j--)
             {
                 if (array[j] % 2 == 1 && array[j - 1]%2 == 0)  //前偶后奇交换
                 {
                     swap(array[j], array[j-1]);
                 }
             }
         }
     }
};

猜你喜欢

转载自blog.csdn.net/boguesfei/article/details/80652576