用c++代码写出交换二维数组里面的两个元素,这个swap函数怎么写
时间: 2024-09-16 08:00:33 浏览: 62
在C++中,如果你有一个二维数组`int arr[row][column]`,你想交换其中两个元素,比如`arr[i][j]`和`arr[k][l]`,你可以创建一个临时变量来存储其中一个元素,然后分别赋值给另一个。这是一个简单的示例:
```cpp
#include <iostream>
// 通用的二维数组交换元素的函数
void swapElements(int (&array)[row][column], int i, int j, int k, int l) {
// 临时变量
int temp = array[i][j];
// 交换元素
array[i][j] = array[k][l];
array[k][l] = temp;
}
int main() {
int arr[3][3] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
int row = sizeof(arr) / sizeof(arr[0]); // 获取行数
int column = sizeof(arr[0]) / sizeof(arr[0][0]); // 获取列数
int i = 0, j = 1, k = 2, l = 1; // 指定要交换的元素位置
std::cout << "Before swap: \n";
for (int r = 0; r < row; ++r) {
for (int c = 0; c < column; ++c) {
std::cout << arr[r][c] << " ";
}
std::cout << "\n";
}
swapElements(arr, i, j, k, l); // 调用函数进行交换
std::cout << "After swap: \n";
for (int r = 0; r < row; ++r) {
for (int c = 0; c < column; ++c) {
std::cout << arr[r][c] << " ";
}
std::cout << "\n";
}
return 0;
}
```
在这个例子中,`swapElements`函数接受一个二维数组引用、交换的行索引i和j以及列索引k和l作为参数。在`main`函数里,我们先打印原始数组,再调用`swapElements`函数,最后再次打印数组以查看交换后的结果。
阅读全文