# C++ Program to Split the array and add the first part to the end?

Here we will see how to split an array, and add the first part after splitting at the end position. Suppose the array contents are {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}. We want to cut this intro two parts. The first part is from index 0 to 3 (split size 4), and second part is rest. After adding the first part at the end, the array elements will be like this {4, 5, 6, 7, 8, 9, 0, 1, 2, 3}. To solve this problem, we will follow this algorithm.

## Algorithm

#### splitArray(arr, n, k)

begin
for i := 0 to k, do
x := arr[0]
for j := 0 to n-2, do
arr[j] := arr[j+1]
done
arr[n-1] := x
done
end

## Example

Live Demo

#include<iostream>
using namespace std;
void splitArray(int arr[], int n, int k){
for(int i = 0; i<k; i++){
int x = arr[0]; //take the first number
for(int j = 0; j<= n-2; j++){
arr[j] = arr[j+1];
}
arr[n-1] = x;
}
}
main() {
int data[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
int n = sizeof(data)/sizeof(data[0]);
int i;
cout << "Enter split size: ";
cin >> i;
splitArray(data, n, i);
for(int i = 0; i <n;i++){
cout << data[i] << " ";
}
}

## Output

Enter split size: 4
4 5 6 7 8 9 0 1 2 3