sorting/Sort Algorithm.h
/**
    note that the generic using void *(memcpy) and void **
    void ** approach sometimes failed

    partition sort is an alias for quick sort
    random sort is intended to be inefficient and a joke
**/
note that the generic using void *(memcpy) and void
void ** approach sometimes failed

partition sort is an alias for quick sort
random sort is intended to be inefficient and a joke
note that the generic using void * ( memcpy ) and void void ** approach sometimes failed partition sort is an alias for quick sort random sort is intended to be inefficient and a joke
int checkSorted(void *arr, size_t len, size_t elemSize, int (*cmp)(const void *a, const void *b)){
    for(int i = 1; i < len; ++i){
        if(cmp(arr+elemSize*i, arr+elemSize*(i-1)) < 0){
            return 0;
        }
    }
    return 1;
}
int checkSorted ( void * arr , size_t len , size_t elemSize , int ( * cmp ) ( const void * a , const void * b ) ) { for ( int i = 1 ; i < len ; ++ i ) { if ( cmp ( arr + elemSize * i , arr + elemSize * ( i - 1 ) ) < 0 ) { return 0 ; } } return 1 ; }
note that the generic using void *(memcpy) and void 
void ** approach sometimes failed
note that the generic using void * ( memcpy ) and void void ** approach sometimes failed