21xrx.com
2024-11-25 13:06:48 Monday
登录
文章检索 我的文章 写文章
C++ 数组互换
2023-06-28 17:02:41 深夜i     --     --
C++ 数组 交换

在C++编程中,数组是一种常见的数据类型,常常用于存储和处理大量数据。有时候需要将数组中的元素进行互换,以实现某些操作或优化算法。本篇文章将介绍如何在C++中进行数组互换。

方法一:使用临时变量

一种最简单的方法是使用一个临时变量,将数组中的元素一个一个地进行交换。

示例代码:


#include <iostream>

using namespace std;

int main () {

  int arr[] = 10;

  int n = sizeof(arr)/sizeof(arr[0]);

  int temp;

 

  for(int i=0;i<n/2;i++){

   temp = arr[i];

   arr[i] = arr[n-i-1];

   arr[n-i-1] = temp;

  }

 

  for(int i=0;i<n;i++){

   cout << arr[i] << " ";

  }

  return 0;

}

输出结果:


40 30 20 10

该方法的时间复杂度为O(n),空间复杂度为O(1)。

方法二:使用数学运算

另一种方法是使用数学运算,通过对下标进行计算,直接将数组中的元素进行交换。

示例代码:


#include <iostream>

using namespace std;

int main () {

  int arr[] = {10,20,30,40};

  int n = sizeof(arr)/sizeof(arr[0]);

 

  for(int i=0,j=n-1;i<j;i++,j--){

   arr[i] = arr[i] + arr[j];

   arr[j] = arr[i] - arr[j];

   arr[i] = arr[i] - arr[j];

  }

 

  for(int i=0;i<n;i++){

   cout << arr[i] << " ";

  }

  return 0;

}

输出结果:


40 30 20 10

该方法的时间复杂度为O(n/2),空间复杂度为O(1)。

总结

本文介绍了两种在C++中进行数组互换的方法,第一种方法使用临时变量,第二种方法使用数学运算。这两种方法各有其优劣,具体应用场景需要根据实际情况进行选择。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复