【问题标题】:Changing index positions within an array [duplicate]更改数组中的索引位置[重复]
【发布时间】:2018-10-14 21:03:40
【问题描述】:

我有一个关于一维数组的问题,我试图用这个数组做的是改变数组中任何值的索引值,例如

int[] num = new[2,4,6,9]

我想用这个数组做什么,我希望位置 0 变成位置 1,位置 1 变成 0。所以数组看起来像 [4,2,6,9],这部分很容易做到,但我正在努力解决之后的部分是我希望阵列继续沿着这条路走,所以[4,6,2,9]->[4,6,9,2] 我正在努力解决这个问题。到目前为止,我正在使用两个数组来尝试这个,但我遇到了困难。此外,我正在尝试对所有位置进行此操作,而不仅仅是第一个。

for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) {
        temp[j] = temp2[i];
        if (j != 0) {
            temp[j - 1] = temp2[j];
        }
    }
    revert(); //I use this methods to restore any changes made so I can attempt with the next spot
} 

【问题讨论】:

标签: java arrays


【解决方案1】:

只保留 1 个 for 循环和 1 个临时变量来交换标签。

for (int i = 0; i < N; i++) {
  tmp = tab[i];
  tab[i] = tab[i + 1];
  tab[i + 1] = tmp;
}

【讨论】:

    猜你喜欢
    • 2019-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-10
    • 1970-01-01
    • 2017-06-09
    • 2016-05-27
    • 2021-12-10
    相关资源
    最近更新 更多