首页 文章

java,数组中的数字,甚至是第一个

提问于
浏览
-4

编写一个java程序来重新排列数组中的所有数字,甚至在奇数之前,只使用O(1)空间,并且应该保持偶数和奇数的相对顺序,例如:input:[1,2,3,4 ,5]输出:[2,4,1,3,5]

2 回答

  • 0

    试试这段代码:

    public static void main(String[] args)
      {
        int[] arr = {1, 2, 3, 4, 5};
    
        int temp=0;
        int a=0;
        for(int i=0;i<arr.length;i++){
            if(arr[i]%2==0){
    
                for (int j=i;j>a;j--){
                    temp=arr[j-1];
                    arr[j-1]=arr[j];
                    arr[j]=temp;
                }
                a++;
            }
        }
       System.out.println(Arrays.toString(arr));
    
      }
    
  • 0

    建议:

    通过阵列查看相邻的数字对 . 每当你找到一对第一个数字是奇数而第二个数字是偶数时,交换它们 . 保持交换数量的计数 . 继续对阵列进行传递,直到你最终传出一个你不必交换任何数字的传球 .

相关问题