小智 9

实际上,您只需遍历数组一次即可对此数组进行排序.

这是我的代码的片段:

    int arr[] = {1,1,1,1,0,   0,1,0,1,1,1};
    int arrb[] = new int[arr.length];
    int zeroInsertIndex = 0;
    int oneInsertIndex =arrb.length-1;

    for(int i=0; i<arr.length; i++){
        if(arr[i] == 1) 
            arrb[oneInsertIndex--] = 1;
        else if (arr[i] == 0) 
            arrb[zeroInsertIndex++] = 0;
    }
    for(int i=0;i<arrb.length;i++)
        System.out.print(arrb[i] + " ");
Run Code Online (Sandbox Code Playgroud)