21xrx.com
2025-03-31 12:59:18 Monday
文章检索 我的文章 写文章
C++如何交换两个数组
2023-07-05 12:15:02 深夜i     --     --
C++ 交换 数组

在C++中,要交换两个数组是非常简单的。可以使用循环或者STL库中的函数来实现。

首先,我们来看看使用循环实现交换两个数组的示例:

#include <iostream>
using namespace std;
int main()
{
  int arr1[] = 1;
  int arr2[] = 6;
  int size = sizeof(arr1) / sizeof(arr1[0]);
  for (int i = 0; i < size; i++)
  {
    int temp = arr1[i];
    arr1[i] = arr2[i];
    arr2[i] = temp;
  }
  cout << "arr1: ";
  for (int i = 0; i < size; i++)
  {
    cout << arr1[i] << " ";
  }
  cout << endl << "arr2: ";
  for (int i = 0; i < size; i++)
  {
    cout << arr2[i] << " ";
  }
  return 0;
}

输出结果为:

arr1: 4 5 6
arr2: 1 2 3

在上述代码中,我们首先定义了两个长度相同的数组arr1和arr2。然后,我们通过计算数组的大小,来确定需要遍历的次数。当我们遍历数组时,我们使用一个临时变量temp来交换数组元素的位置。最后,我们输出交换后的两个数组。

另外一种方式是使用STL库中的swap函数来实现。如下所示:

#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
  int arr1[] = 3;
  int arr2[] = 4;
  int size = sizeof(arr1) / sizeof(arr1[0]);
  for (int i = 0; i < size; i++)
  {
    swap(arr1[i], arr2[i]);
  }
  cout << "arr1: ";
  for (int i = 0; i < size; i++)
  {
    cout << arr1[i] << " ";
  }
  cout << endl << "arr2: ";
  for (int i = 0; i < size; i++)
  {
    cout << arr2[i] << " ";
  }
  return 0;
}

输出结果为:

arr1: 4 5 6
arr2: 1 2 3

在上述代码中,我们首先定义了两个长度相同的数组arr1和arr2。然后,我们通过计算数组的大小,来确定需要遍历的次数。当我们遍历数组时,我们使用了STL库中的swap函数来交换数组元素的位置。最后,我们输出交换后的两个数组。

无论是使用循环还是STL库中的swap函数,交换两个数组的元素都是非常简单的。无论选择哪种方法,都可以达到目的,而且并不具有特别的局限性。

  
  

评论区