两个整形数组交换c++
时间: 2024-09-19 18:05:35 浏览: 35
C++两个一维数组相加求和
在C++中,我们可以使用多种方法来交换两个整型数组。这里介绍一种简单直接的方法,即使用临时变量:
```cpp
#include <iostream>
// 函数模板来交换两个数组
template<typename T>
void swapArrays(T arr1[], int size1, T arr2[], int size2) {
if (size1 != size2) {
std::cerr << "Array sizes are not equal!" << std::endl;
return;
}
// 创建临时变量来存储第一个数组的一部分
T temp[size1];
for (int i = 0; i < size1; ++i) {
temp[i] = arr1[i];
}
// 把第一个数组的部分元素复制到第二个数组
for (int i = 0; i < size1; ++i) {
arr2[i] = arr1[i];
}
// 把临时变量的内容复制回第一个数组
for (int i = 0; i < size1; ++i) {
arr1[i] = temp[i];
}
}
int main() {
int array1[] = {1, 2, 3};
int array2[] = {4, 5, 6};
int size1 = sizeof(array1) / sizeof(array1[0]);
int size2 = sizeof(array2) / sizeof(array2[0]);
std::cout << "Before swapping:\n";
printArray(array1, size1);
printArray(array2, size2);
swapArrays(array1, size1, array2, size2);
std::cout << "\nAfter swapping:\n";
printArray(array1, size1);
printArray(array2, size2);
return 0;
}
// 辅助函数打印数组内容
void printArray(int arr[], int size) {
for (int i = 0; i < size; ++i) {
std::cout << arr[i] << " ";
}
std::cout << std::endl;
}
阅读全文