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