📌  相关文章
📜  C ++程序拆分数组并将第一部分添加到末尾(1)

📅  最后修改于: 2023-12-03 14:39:39.350000             🧑  作者: Mango

C++程序拆分数组并将第一部分添加到末尾

在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++中将一个数组拆分成两部分,并将第一部分添加到末尾。