Max sub-array: First commit
[Development/Enhancement/Defect]
Development

[Description]
First commit.

[Change]
Added main() and function prototypes. Plan is to specify the mode
to be used for algorithm i.e. brute force or recursive.

[Test]
Max sub-array: Adding brute force implementation

[Development/Enhancement/Defect]
Development

[Description]
Implementation of maximum sub-array problem using brute force
method.

max_sub_array() is a wrapper for max_sub_array_brute() and
max_sub_array_recursive() subroutines. Depending on the
mode ALGO_TYPE_LINEAR or ALGO_TYPE_RECURSIVE, max_sub_array(),
calls either max_sub_array_brute() or max_sub_array_recursive()
respectively.

[Change]
Added max_sub_array() and max_sub_array_brute() subroutines.

[Test]
Compiled successfully.
Max sub-array: Adding max_cross_sub_array() subroutine
[Development/Enhancement/Defect]
Development

[Description]
Adding the max_cross_sub_array() to find the maximum sub-array
that crosses the mid index specified as an input.

max_cross_sub_array() finds the maximum subarray between start_idx
and end_idx, which includes the mid_idx. This subroutine uses
two while loop to find the left index and right index of the
required subarry. Since this subarray is to include array[mid_idx],
we can easily find this in time theta(n).

[Change]
Added max_cross_sub_array() subroutine. It is used by
max_sub_array_recursive().

[Test]
None
Max sub-array: Adding recursive solution

[Development/Enhancement/Defect]
Development

[Description]
Added max_sub_array_recursive() subroutine to find the recursive
solution.

max_sub_array_recursive() uses recursion and max_cross_sub_array()
subroutine to find the maximum subarray to the left and right of
mid index and also maximum subarray that crosses the mid index i.e.
a maximum subarray including array[mid_idx]. It would then return
the maximum among the three subarrays as the maximim subarray of
array[start_idx.....end_idx].

[Change]
Added max_sub_array_recursive().
Edited max_sub_array() to invoke max_sub_array_recursive() when
the mode passed is ALGO_TYPE_RECURSIVE.

[Test]
Compiled successfully. Checked with few inputs. All passes fine.