Without seeing all of the code, based only on what I can see, I'm not a fan of the 0, 1, and 2 being magic numbers to indicate which sort to use. This should almost certainly be an enum.
enum SortStrategy {
COUNTING_SORT,
INSERTION_SORT,
HYBRID_SORT
};
Your switch also could be refactored to avoid repetition by letting the counting sort case fall through to the default case. By using the enum with meaningful names, the comments become extraneous.
switch (strategy) {
case INSERTION_SORT:
bres_insertion_sort(arr, n);
break;
case HYBRID_SORT:
bres_hybrid_sort(arr, n);
break;
case COUNTING_SORT:
default:
bres_counting_sort(arr, n);
break;
}
Other magic numbers to eliminate would be the thresholds for invoking each sorting method.