gpt4 book ai didi

java - 如何跳过某些数组索引?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:32:10 24 4
gpt4 key购买 nike

只需要对数组中的奇数进行排序,但偶数必须保留在原位。

这是我的代码:

public static int[] sortArray(int[] array) {

int length = array.length;
int temp = 0;


for (int i = 0; i < length; i++) {
for (int j = 1; j < length - i; j++) {
if (j > 0 && array[j] % 2 == 0)continue;

if (array[j - 1] > array[j]){
temp = array[j - 1];
array[j - 1] = array[j];
array[j] = temp;
}
}
}

return array;
}

输入:new int[]{5, 3, 2, 8, 1, 4, 0}

输出:[1, 3, 5, 2, 8, 4, 0]

但我需要:[1, 3, 2, 8, 5, 4, 0]

如何跳过数组中的某些索引?

认为这应该与continue 运算符连接,但我不知道该怎么做。

最佳答案

改用这段代码:

public static int[] sortArray(int[] array) {

int length = array.length;

for (int i = 0; i < length - 1; i++) {
int k = -1; // The index of last odd element
for (int j = 0; j < length - i; j++)
if (array[j] % 2 != 0) {
if (k >= 0 && array[k] > array[j]) {
int temp = array[k];
array[k] = array[j];
array[j] = temp;
}
k = j;
}
}

return array;
}

关于java - 如何跳过某些数组索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53363074/

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