如何在char数组的某些索引处切换字符?

时间:2013-10-02 03:53:01

标签: java arrays char

假设我有一个char数组迷宫[] [],它包含:

    P . X X .
    . X . . .
    . . . X .
    X X T . .
    . . X . .

我正在写一个函数,如果你想向下移动,将从迷宫[0] [0]带来“P” 迷宫[1] [0]然后带“。”从迷宫[1] [0]到迷宫[0] [0]等等...

基本上我如何在char数组中交换2个索引的值?

3 个答案:

答案 0 :(得分:5)

在任意两个变量中切换值的方式相同:使用临时变量并使用三个赋值进行交换:

char tmp = maze[r1][c1];
maze[r1][c1] = maze[r2][c2];
maze[r2][c2] = tmp;

答案 1 :(得分:3)

试试这个:

char temp = maze[1][0];
maze[1][0] = maze[0][0];
maze[0][0] = temp;

更一般化的形式:

void trade(char[][] maze,int r1,int c1,int r2,int c2){
    char temp = maze[r2][c2];
    maze[r2][c2] = maze[r1][c1];
    maze[r1][c1] = temp;
}

答案 2 :(得分:0)

您可以使用临时变量进行更改并交换数组元素的值

char temp = maze[row1][column0];
maze[row1][column[0] = maze[row2][column2];
maze[row2][coumn2] = temp;