gpt4 book ai didi

java - 先进的交换方法(偶数和奇数元素交换)

转载 作者:行者123 更新时间:2023-12-01 18:39:59 25 4
gpt4 key购买 nike

有人可以帮忙解决一下兑换方法吗?我有一个算法

<小时/>
  1. 将 boolean 变量 b 指定为 true。
  2. 当 b 为真时,执行以下步骤:a) 将 false 分配给 b。b) 在步骤 2 中将 i 从 0 更改为数组末尾,并对 i 的每个值执行:

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

    • 如果编号为 i 的元素大于编号为 i + 1 的元素,则:1) 将数组元素与编号 i 和 i + 1 交换;
    • 将值 b 指定为 true。
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;
}

}
}
}

主要问题是当我初始化数组时出现越界错误。我知道这是因为 a[i+1],但我不明白如何解决它......

谢谢

最佳答案

快速阅读的一些内容:

  • while (b == true) {}
  • for (int i = 0; i < a.length - 2; i = i + 2) {}
  • a[i] = a[i + 1]只是交换的一半。您失踪了a[i + 1] = a[i]但现在你的a[i]已经有了新的值(value),所以你必须考虑一下(或谷歌变量交换)。

关于java - 先进的交换方法(偶数和奇数元素交换),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59953174/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com