gpt4 book ai didi

java - 交换数组中的元素

转载 作者:行者123 更新时间:2023-11-30 06:28:23 27 4
gpt4 key购买 nike

我一直在努力解决这个问题:

假设我有一个数组:

int[] n = {0, 0, -1, 1, 0, 1, 1, -1, 1};

我需要能够对数组进行排序,如果前面有一个零和一个非零,那么它们应该被交换。

例如:0, 0, -1, 1, 0, 1, 1, -1, 1

将变为:0, 0, -1, 0, 1, 1, 1, -1, 1

我一直在尝试使用 for 循环和 if 语句来完成它,但没有成功。有什么建议吗?

最佳答案

试试这个:

for (int i = 1 ; i < n.length ; i++)
if (n[i] == 0 && n[i - 1] != 0) {
int tmp = n[i - 1];
n[i - 1] = n[i];
n[i] = tmp;
}

您认为您需要一个在其主体中包含一个 if 语句的 for 循环是正确的。我们在这里所做的就是从元素 1 开始遍历数组。然后我们检查当前所在的元素是否为 0 并且前一个元素不是 0:即 if (n[i] == 0 && n[i - 1] != 0)。如果这个条件为真,我们交换这两个元素。

关于java - 交换数组中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12653198/

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