C++程序 将一个数组的内容以相反的顺序复制到另一个数组中
给定一个数组,任务是将这些数组元素以相反顺序复制到另一个数组中。
例子:
输入: array: 1 2 3 4 5
输出: 5 4 3 2 1
输入: array: 10 20 30 40 50
输出: 50 40 30 20 10
让 len 是原始数组的长度。我们将每个元素original_arr [i]复制到copy_arr [n-i-1],以在copy_arr []中获得相反的内容。
// C程序将一个数组的内容以相反的顺序复制到另一个数组中
#include <stdio.h>
//打印数组的函数
void printArray(int arr[], int len)
{
int i;
for (i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
}
//驱动程序
int main()
{
int original_arr[] = {1, 2, 3, 4, 5};
int len = sizeof(original_arr)/sizeof(original_arr[0]);
int copied_arr[len], i, j;
//将数组的元素以相反顺序复制到 copied_arr 中
for (i = 0; i < len; i++) {
copied_arr[i] = original_arr[len - i - 1];
}
//打印原始数组
printf("
原始数组:");
printArray(original_arr, len);
//打印被复制的数组
printf("
结果数组:");
printArray(copied_arr, len);
return 0;
}
输出:
原始数组:1 2 3 4 5
结果数组:5 4 3 2 1
时间复杂度: O(len)
辅助空间: O(len)