请问如何把代码输出顺序改如下图的?

![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/175789698566171.jpeg "

请问奇偶的块状交换如何改动?

奇偶对交换位置,我自己写了一个测试程序,运行结果如下:

img

函数代码如下:

public static int[] evenOddSwap(int[] num){
        if(num.length ==0) 
            return num;
        int[] flag = new int[num.length];
        for(int i = 0;i<num.length;i++)
            flag[i] = 0;
        int t = 0;
        int index = 0;
        for(int i=0;i<num.length;i++){
            if(flag[i] == 1) //判断该位置的元素是否已经交换过
                continue;
            if(num[i]%2==0){
                //当前数为偶数,找第一个奇数
                for(index = i+1;index < num.length;index++){
                    if(flag[index]==0 && num[index]%2==1)
                        break;
                }
                if(index < num.length){
                    t = num[i];
                    num[i] = num[index];
                    num[index] = t;
                    flag[i] = 1;
                    flag[index] = 1;
                }
            }else{
                //当前数为奇数,找第一个偶数
                for(index = i+1;index < num.length;index++){
                    if(flag[index]==0 && num[index]%2==0)
                        break;
                }
                if(index < num.length){
                    t = num[i];
                    num[i] = num[index];
                    num[index] = t;
                    flag[i] = 1;
                    flag[index] = 1;
                }
            }
        }
        
        
        
        return num;
    }

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632