1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
#include <iostream>
void print_array( const int[], const int);
void split_array(const int[], const int, int, int[], int[]);
int main()
{
int array[] = {1,2,3,4,5,6,7,8,9};
int size = sizeof(array)/sizeof(int);
print_array(array, size);
int pivot = 5;
int size_1 = pivot;
int size_2 = size - pivot;
int *array_1 = new int[size_1];
int *array_2 = new int[size_2];
split_array(array, size, pivot, array_1, array_2);
print_array(array_1, size_1);
print_array(array_2, size_2);
return 0;
}
void print_array(const int anArray[], const int array_size){
for(int i = 0; i < array_size; ++i)
std::cout << anArray[i] << ' ';
std::cout << '\n';
}
void split_array(const int aArray[], const int aSize, const int aPivot, int first_array[], int second_array[]){
std::cout << "Split occurs at " << aPivot << '\n';
for(int i = 0; i < aPivot; ++i)
first_array[i] = aArray[i];
for(int i = 0; i < aSize - aPivot; ++i)
second_array[i] = aArray[i + aPivot];
}
|