Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 高级交换方法(奇偶元素交换)_Java - Fatal编程技术网

Java 高级交换方法(奇偶元素交换)

Java 高级交换方法(奇偶元素交换),java,Java,有人能帮我交换一下吗。 我有一个算法 将布尔变量b赋值为true b为真时,执行以下步骤: a) 将false分配给b。 b) 在步骤2中,将i从0更改为数组的末尾,并针对i的每个值执行: 如果编号为i的元素大于编号为i+1的元素,则: 1) 用数字i和i+1交换数组元素 将值b指定为true 在步骤2中,将i从1更改为数组的末尾,并执行i的每个值: 如果编号为i的元素大于编号为i+1的元素,则: 1) 用数字i和i+1交换数组元素 将值b指定为true publicstaticvoi

有人能帮我交换一下吗。 我有一个算法


  • 将布尔变量b赋值为true
  • b为真时,执行以下步骤: a) 将false分配给b。 b) 在步骤2中,将i从0更改为数组的末尾,并针对i的每个值执行:

    • 如果编号为i的元素大于编号为i+1的元素,则: 1) 用数字i和i+1交换数组元素
    • 将值b指定为true
  • 在步骤2中,将i从1更改为数组的末尾,并执行i的每个值:

    • 如果编号为i的元素大于编号为i+1的元素,则: 1) 用数字i和i+1交换数组元素
    • 将值b指定为true
  • publicstaticvoidfirstmethod(int[]a){
    布尔b=true;//布尔=true
    while(b=true){
    b=假;
    对于(int i=0;i a[i+1]){
    a[i]=a[i+1];//梅纳杰姆·梅斯塔米
    b=正确;
    }
    }
    对于(int i=1;i a[i+1]){
    a[i]=a[i+1];//梅纳杰姆·梅斯塔米
    b=正确;
    }
    }
    }
    }
    
    主要问题是当我初始化数组时,我得到了越界错误。 我知道这是因为[I+1],但我不知道如何修复它


    谢谢

    快速阅读以下内容:

    • while(b==true){}
    • for(inti=0;i
    • a[i]=a[i+1]
      只是交换的一半。您缺少
      a[i+1]=a[i]
      ,但现在您的
      a[i]
      已经有了新的值,所以你必须想一想(或者谷歌变量交换
    public static void firstmethod(int[] a) {
        boolean b = true; // boolean =true
        while (b = true) {
            b = false;
            for (int i = 0; i <= a.length; i = i + 2) //Do konca massiva A,wag 2,i i=0!
            {
                if (a[i] > a[i + 1]) {
                    a[i] = a[i + 1];//menajem mestami 
                    b = true;
                }
            }
            for (int i = 1; i <= a.length; i = i + 2) //Do konca massiva A,wag 2,i i=0!
            {
                if (a[i] > a[i + 1]) {
                    a[i] = a[i + 1];//menajem mestami 
                    b = true;
                }
    
            }
        }
    }