📅  最后修改于: 2023-12-03 14:39:39.350000             🧑  作者: Mango
在C++中,数组是一种非常常见的数据结构,它包含了一组相同数据类型的元素。在某些情况下,我们需要对数组进行一些特殊的操作,例如将数组拆分成两部分,然后将第一部分添加到末尾。
下面是一个C++程序,实现了将数组拆分成两部分并将第一部分添加到末尾的功能:
#include<iostream>
using namespace std;
int main() {
int arr[] = {4, 5, 6, 1, 2, 3};
int n = sizeof(arr) / sizeof(arr[0]); // 数组长度
int k = 2; // 拆分位置
// 拆分数组并将第一部分添加到末尾
int* temp = new int[k];
for (int i = 0; i < k; i++) {
temp[i] = arr[i];
}
for (int i = k; i < n; i++) {
arr[i - k] = arr[i];
}
for (int i = n - k; i < n; i++) {
arr[i] = temp[i - (n - k)];
}
// 输出结果
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
// 释放动态内存
delete[] temp;
return 0;
}
首先,我们定义了一个整型数组arr
,包含了一组元素。接着,我们计算了数组的长度n
。然后,我们定义了一个整型变量k
,表示我们要将数组拆分成两部分的位置。在本例中,我们选择将数组从第二个元素开始拆分,所以k=2。当然,您可以根据实际情况调整k
的值。
接下来,我们创建了一个动态数组temp
,用于存储我们拆分出来的第一部分。我们使用for
循环将arr
数组的前k
个元素复制到temp
数组中。然后,我们使用两个for
循环将arr
数组的其他元素向前移动,留出空间给temp
数组。最后,我们将temp
数组中的元素复制到arr
数组的末尾,完成整个操作。
最后,我们使用for
循环输出了结果。注意,我们在程序结束前使用了delete[]
释放了动态数组temp
的内存。
希望本篇文章能够帮助您理解如何在C++中将一个数组拆分成两部分,并将第一部分添加到末尾。