#ifndef sort_h
#define sort_h

#include "../define.h"

typedef enum
  {
    SORT_INSERTION,
    SORT_SELECTION,
    SORT_BUBBLE,
    SORT_SHELL
  } sort_t;

void         sort            (unsigned int *base, unsigned int n, sort_t type);
void         sort_insertion  (unsigned int *base, unsigned int n);
void         sort_selection  (unsigned int *base, unsigned int n);
void         sort_bubble     (unsigned int *base, unsigned int n);
void         sort_shell      (unsigned int *base, unsigned int n);
const char * sort_str        (sort_t x);

#endif //sort_h
