SortLib.h
#include <iostream>
namespace SortLib
{
void insert_sort_by_binary(void* base, int num, size_t size, int(*compar)(const void*, const void*));
void qsort_by_recursive(void* base, int num, size_t size, int(*compar)(const void*, const void*));
void qsort_by_non_recursive(void* base, int num, size_t size, int(*compar)(const void*, const void*));
void merge_sort_by_recursive(void* base, int num, size_t size, int(*compar)(const void*, const void*));
void merge_sort_by_non_recursive(void* base, int num, size_t size, int(*compar)(const void*, const void*));
void natural_merge_sort(void* base, int num, size_t size, int(*compar)(const void*, const void*));
void heap_sort(void* base, int num, size_t size, int(*compar)(const void*, const void*));
void buble_sort(void* base, int num, size_t size, int(*compar)(const void*, const void*));
void selection_sort(void* base, int num, size_t size, int(*compar)(const void*, const void*));
}